在Solr中使用OR运算的多个过滤器查询

时间:2011-12-01 03:47:11

标签: solr

我需要在查询中定义多个过滤查询但使用OR操作。 想象一下,有fq1,fq2和fq3。现在我希望我的最终过滤查询为:

fq = fq1 AND fq2或fq3

有没有办法在Solr中处理它?<​​/ p>

4 个答案:

答案 0 :(得分:7)

现在似乎SOLR(&gt; 4.5)支持这些类型的查询,即

fq =(field1:value1 OR field2:value2)

答案 1 :(得分:2)

这在Solr中是不可能的。如果您可以定义过滤器查询然后单独指定应在它们之间应用的布尔逻辑,那将是很好的。

几年前,我创建了一个Jira issue希望看到这个被添加。

答案 2 :(得分:2)

您可以这样做:

<service behaviorConfiguration="behavior1" name="MyServiceClass"> <endpoint address="endpoint1" bindingConfiguration="binding1" contract="IMyServiceContract"/> </service> <service behaviorConfiguration="behavior2" name="MyServiceClass"> <endpoint address="endpoint2" bindingConfiguration="binding2" contract="IMyServiceContract"/> </service>

答案 3 :(得分:-1)

+fq:fq1 +(fq2:fq2 fq3:fq3) <-- if default query filter type is OR