Solr AND运算符

时间:2013-04-26 15:26:19

标签: solr

我在使用SOLR查询获得正确结果时遇到问题。基本上,假设我想要所有包含字符串“toto”的英文文档。

http://127.0.0.1:8080/solr-webservice/query/?q=iso_lang_cd:en&ctnt_val:*toto*

问题是此查询向我发送所有英文文档和包含toto的所有文档。

我需要的是获取所有英文文件并包含toto。我怎么能实现这个目标?我认为这是AND运算符的标准用法......

1 个答案:

答案 0 :(得分:6)

实际上,OR是Solr的默认查询运算符,并且您的查询格式不会强制执行A​​ND操作。为了实现AND行为,您可以使用以下格式之一指定查询:

 +iso_lang_cd:en +ctnt_val:*toto*

 iso_lang_cd:en && ctnt_val:*toto*

或者您可以选择通过q.op=AND强制执行A​​ND操作。此外,您可能需要考虑使用Filter Queries,您可以在其中过滤语言。使用过滤器查询有一些性能改进,但请参阅文档以获取更多详细信息。

 q=ctnt_val:*toto*&qf=iso_lang_cd:en

有关详细信息和查询的详细概述,请参阅Standard Query Parser