使用运算符OR创建solr过滤器查询的问题

时间:2015-04-28 13:52:21

标签: solr

我有searchText,我想在几个特定字段中搜索它,而不是在schema.xml的所有默认字段中搜索它。 起初我尝试在solr admin http://localhost:8061/solr/admin/form.jsp中设置 查询字符串(参数“q”)到: “field1:val OR field2:val” 但由于某种原因,它不起作用。

然后我尝试将FilterQuery(参数“fq”)设置为: “field1:val OR field2:val”

它有效,但问题是我们系统的架构如下: 我们只能创建单独的过滤器,毕竟它们将由运营商“AND”链接。 换句话说,我们创建fq1,fq2,...然后我们的系统执行f1 = fq1 AND fq2 AND ...

所以,也许有人可以建议一些hack如何设置这个子句“field1:val OR field2:val” 到fq1,为了整个条款的正确工作: “f1 = fq1 AND fq2 AND ...”

1 个答案:

答案 0 :(得分:0)

看起来您的用例非常适合SOLR中的Dismax / Edismax查询解析器:https://cwiki.apache.org/confluence/display/solr/The+DisMax+Query+Parser

特别是:

qf  Query Fields: specifies the fields in the index on which to perform the query. 

评论:fq的问题在于他们没有经历与q参数相同的查询预处理。但是,fqs确实支持布尔逻辑。