在Solr中使用或操作的多个筛选器查询

在Solr中使用或操作的多个筛选器查询,solr,Solr,我需要在查询中定义多个筛选器查询,但使用OR操作。 假设有fq1、fq2和fq3。现在,我希望我的最终筛选查询是: fq=fq1和fq2或fq3 有什么方法可以在Solr中处理它吗?+fq:fq1+(fq2:fq2 fq3:fq3)这在Solr中是不可能的。如果您可以定义过滤器查询,然后分别指定应该在它们之间应用的布尔逻辑,那就太好了 +fq:fq1 +(fq2:fq2 fq3:fq3) <-- if default query filter type is OR 几年前,我创建了一个应

我需要在查询中定义多个筛选器查询,但使用OR操作。 假设有fq1、fq2和fq3。现在,我希望我的最终筛选查询是:

fq=fq1和fq2或fq3


有什么方法可以在Solr中处理它吗?

+fq:fq1+(fq2:fq2 fq3:fq3)这在Solr中是不可能的。如果您可以定义过滤器查询,然后分别指定应该在它们之间应用的布尔逻辑,那就太好了

+fq:fq1 +(fq2:fq2 fq3:fq3) <-- if default query filter type is OR
几年前,我创建了一个应用程序,希望看到它得到添加

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


fq=(field1:value1或field2:value2)

您可以执行以下操作:


fq=fieldA:(valueA或valueB)或fieldB:valueC

您确定这有效吗?我期待这个特性已经有一段时间了,请看这里:Soli,我认为根据Solr 4.9的
fq
文档,使用普通查询(而不是过滤查询)也可以实现同样的功能,该文档认为您是正确的。你知道你可以链接到的任何例子吗?我在网上找不到我引用的任何参考资料。然而,我在我目前开发的一个应用程序中试用了它,效果很好。