2017-05-29 89 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