如何在SOLR中使用OR传递多个fq

时间:2017-06-09 07:44:40

标签: solr

在solr中,如果我们默认传递两个fq,它将把它作为AND,而不是如何将它作为或。

  • 例如:fq = school:“srm”& fq = class:“first” 这种情况是默认的,它将采取它,但如何通过OR条件相同。

谢谢, 的Subbarao。

2 个答案:

答案 0 :(得分:2)

Solr 5.4及更高版本了解filter syntax in the body of main query(在页面上搜索"过滤器(...)")。所以,你可以这样做:

  

fq = filter(inStock:true)过滤器(价格:[* TO 100])

您还可以使用变量替换,通过将每个过滤器放入其自己的变量中来使这些变量更具可读性。

这些有趣的概念中有几个在Hoss' presentation at Lucene/Solr Revolution 2016中得到了很好的解释。

答案 1 :(得分:0)

过滤器是独立应用的,因此如果您想要一个OR过滤器,您必须在单个过滤器中应用它:

fq=school:"srm" OR class:"first"