Solr AND operator

  • 本文关键字:operator AND Solr solr
  • 更新时间 :
  • 英文 :


我有一个问题,获得正确的结果与我的SOLR查询。基本上,假设我想要所有包含字符串"toto"的英文文档。

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

问题是这个查询发送给我的是所有英文文档和所有包含toto的文档。

我需要的是得到所有的英文文件,并包含toto。我怎样才能做到这一点呢?我认为这是AND操作符的标准用法…

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

 +iso_lang_cd:en +ctnt_val:*toto*
 iso_lang_cd:en && ctnt_val:*toto*

或者您可以选择传递q.op=AND来强制进行AND操作。此外,您可能想要考虑使用Filter Queries,在那里您可以对语言进行过滤。使用过滤器查询有一些性能改进,但更多细节请参考文档。

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

请参阅标准查询解析器了解更多细节和查询的良好概述。

最新更新