在solr中使用多个参数进行搜索

时间:2014-06-03 17:13:54

标签: solr solr-query-syntax

目前我有这样的查询

q=mysearchparameters

它工作正常,我认为它将在所有字段中搜索此关键字,现在我想仅根据某些特定字段检索数据

q=name:'somename'+specialization:'somespecialization' 

是否可以查询,这里我得到了第二个查询的一些意外数据。

2 个答案:

答案 0 :(得分:2)

为了执行多准则请求,您最好这样做:

q=*:*
fq= name:*somename* 
fq= specialization:*specializstr*


http req example : http://localhost:8983/solr/datav6/select?q=*%3A*&fq=data%3A*carlos*%5E5&fq=entity%3Aemployee&wt=json&indent=true

它对结果更加安慰,执行速度更快,消耗更少的内存。 请享受并给我一些反馈! :)

答案 1 :(得分:2)

您可以将多个查询一起进行AND运算,如下所示:

q=name:somename AND specialization:somespecialization

或ORer一起这样:

q=name:somename OR specialization:somespecialization

或者您可以使用过滤器查询将它们组合在一起:

q=*:*&fq=name:somename&fq=specialization:somespecialization

我不会进入查询与过滤查询,因为它在其他地方更好地被覆盖:

SOLR filter-query vs main-query