我在使用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*
Run Code Online (Sandbox Code Playgroud)
或者您可以选择传递q.op=AND强制AND操作.此外,您可能需要考虑使用筛选查询,您可以在其中筛选语言.使用过滤器查询有一些性能改进,但请参阅文档以获取更多详细信息.
q=ctnt_val:*toto*&qf=iso_lang_cd:en
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6528 次 |
| 最近记录: |