Sphinx/布尔查询语法

来自站长百科
跳转至: 导航、​ 搜索

Sphinx | 安装 | 建立索引|搜索|命令行工具参考|MySQL存储引擎

布尔查询允许使用下列特殊操作符:

  • 显式的与(AND)操作符:

hello & world

  • 或(OR)操作符:

hello | world

  • 非(NOT)操作符:

hello -world

hello !world

  • 分组(grouping):

( hello world )

以下是一个使用了如上全部操作符的例子:

Example 5. 布尔查询示例

( 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个文档),对这种执行查询可能需要很长的时间。

参考来源[ ]

Sphinx使用手册导航

安装

支持的操作系统|需要的工具|在Linux、BSD上安装Sphinx|在Windows上安装Sphinx|已知的安装问题和解决办法|Sphinx快速入门教程

建立索引

数据源|属性|MVA|索引|源数据的限制|字符集、大小写转换和转换表|SQL 数据源|xmlpipe 数据源|xmlpipe2 数据源|Python 数据源|实时索引更新|索引合并

搜索

匹配模式|布尔查询语法|扩展查询语法|权值计算|排序模式|结果分组|分布式搜索|searchd查询日志格式|MySQL 协议支持与SphinxQL

命令行工具参考

indexer命令参考|searchd命令参考|search命令参考|spelldump命令参考|indextool命令参考

MySQL存储引擎

SphinxSE 概览|安装 SphinxSE|使用 SphinxSE|通过 MySQL 生成片段