Apache Solr - 过滤查询中的OR

时间:2011-09-29 09:03:48

标签: apache solr

是否可以使用过滤查询(例如,使用apache Solr)搜索属于少数类别之一的项目。 “计算机”或“手机”类别中的项目

当我想在类别计算机和手机中搜索项目时,我输入:

select/?q=...&fq=cat:computers&fq=cat:phones

但可以使用OR代替AND

2 个答案:

答案 0 :(得分:61)

您可以使用

fq=cat:(computers OR phones)

答案 1 :(得分:45)

过滤查询只是一个查询 - 就像您想要的那样复杂。所以,你当然可以建立一个查询,例如

fq=(cat1:val1 OR cat2:val2 OR (cat3:(val3 AND val4)))

......或其他什么。

过滤器查询和普通旧查询之间的唯一区别(除了您可能还想要考虑的内存和缓存问题)是过滤器查询根本不会影响相关性分数。但就复杂性而言,你可以做任何你想做的事。