2017-05-29 129 views
1

我目前擁有的代碼如下所示:SOLR OR查詢PHP

$query -> addFilterQuery(array(
    'key'=>feature, 
    'query'=>'Features:1,7 Ghz', 
    'tag'=>'include' 
)) 

我需要的是兩者的結果1.7 GHz和2.0 GHz的。 添加另一個過濾器查詢使用AND運算符,但我需要的是OR運算符。

我讀過setQuery()函數確實使用了OR運算符,但我無法弄清楚如何用多個值解決這個問題。

我一直在尋找這一段時間,但我找不到任何文檔。

如果有不清楚的地方,請讓我知道(不是我的母語)

回答

0

使用普通Lucene的語法應該可以正常工作,這取決於你所使用的是Solr的庫進行轉義:

'query' => 'Features:("1,7 Ghz" OR "2,0 Ghz")' 

這也可以合併爲多個單獨的語句指的是一個字段:

'query' => 'Features:"1,7 Ghz" OR Features:"2,0 Ghz"' 
+0

試過類似的東西之前,但我猜的語法是不對的。這工作就像一個魅力,謝謝! – Willem