Apache Solr - 过滤查询中的OR

kri*_*inn 38 apache solr

是否可以使用过滤查询搜索(使用apache Solr)少数类别之一的项目,例如"计算机"或"电话"类别中的项目

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

select/?q=...&fq=cat:computers&fq=cat:phones
Run Code Online (Sandbox Code Playgroud)

但有可能用OR而不是AND

Jay*_*dra 62

您可以使用

fq=cat:(computers OR phones)
Run Code Online (Sandbox Code Playgroud)


Bil*_*ber 45

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

fq=(cat1:val1 OR cat2:val2 OR (cat3:(val3 AND val4)))
Run Code Online (Sandbox Code Playgroud)

...管他呢.

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