作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在使用 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
关于Solr AND 运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16240002/
我是一名优秀的程序员,十分优秀!