您在這裡

在Apache solr中, 如何使用add_filter做到OR的效果?

claus's 的頭像
claus 在 2010-09-02 (四) 09:48 發表

小弟要在apache solr中, 使用add_filter來過濾文章,譬如要搜尋音樂類包含搖滾和爵士樂的文章,
如下所示:
$query->add_filter('ss_cck_field_music', 'rock');
$query->add_filter('ss_cck_field_music', 'jazz');
但這會產生AND的效果,因為沒有音樂會既屬於搖滾又屬於爵士樂,所以搜尋結果是零
小弟希望可以做到OR的效果,有人建議以下寫法(http://drupalbin.com/13388):
$subquery = apachesolr_drupal_query();
$subquery->add_filter('ss_cck_field_music', 'rock');
$subquery->add_filter('ss_cck_field_music', 'jazz');
$query->add_subquery($subquery, 'OR');
但這一段code還是沒作用,有前輩有遇到類似的問題嗎?