4.2.布尔查询语法
优质
小牛编辑
134浏览
2023-12-01
布尔查询允许使用下列特殊操作符:
- 显式的与(AND)操作符:
hello & world
- 或(OR)操作符:
hello | world
- 非(NOT)操作符:
hello -world hello !world
- 分组(grouping):
( hello world )
以下是一个使用了如上全部操作符的例子:
Example5.布尔查询示例
( cat -dog ) | ( cat -mouse)
与(AND)操作符为默认操作,所以“hello world”其实就是“hello & world”
或(OR)操作符的优先级高于与操作符,因此“lookingfor cat | dog | mouse”意思是"looking for ( cat | dog | mouse )" 而不是"(looking for cat) | dog | mouse"
像“-dog”这种查询不能被执行,因为它差不多包括索引所有文档。这既有技术上的原因,也有性能上的原因。从技术上说,Sphinx并不总是保持一个全部文档ID的列表。性能方面,当文档集非常大的时候(即10-100M个文档),对这种执行查询可能需要很长的时间。