2

目前我有这样的查询

q=mysearchparameters

它工作正常,我认为它会在所有字段中搜索此关键字,现在我只想检索基于某些特定字段的数据,例如

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

是否可以像这样查询,在这里我为我的第二个查询获得了一些意外数据。

4

2 回答 2

3

你可以有多个查询,ANDed在一起,像这样:

q=name:somename AND specialization:somespecialization

或 ORer 一起像这样:

q=name:somename OR specialization:somespecialization

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

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

我不会讨论查询与过滤查询,因为它在其他地方得到了更好的介绍:

SOLR 过滤器查询与主查询

于 2014-06-04T02:02:51.647 回答
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

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

于 2014-06-04T01:27:05.517 回答