Sphinx/字符集、大小写转换和转换表

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

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

当建立索引时,Sphinx从指定的数据源获得文本文档,将文本分成词的集合,再对每个词做大小写转换,于是“Abc”,“ABC”和“abc”都被当作同一个词(word,或者更学究一点,词项term)

为了正确完成上述工作,Sphinx需要知道:

  1. 源文本是什么编码的;
  2. 那些字符是字母,哪些不是;
  3. 哪些字符需要被转换,以及被转换成什么.

这些都可以用 charset_type 和 charset_table 选项为每个索引单独配置. charset_type 指定文档的编码是单字节的(SBCS)还是UTF-8的。 charset_table 指定了字母类字符到它们的大小写转换版本的对应表,没有在这张表中出现的字符被认为是非字母类字符,并且在建立索引和检索时被当作词的分割符来看待。

注意,尽管默认的转换表并不包含空格符 (ASCII code 0x20, Unicode U+0020) , 但是这么做是 完全合法的. 这在某些情况下可能有用,比如在对tag构造索引的时候,这样一个用空格分开的词集就可以被当作一个单独的查询项了.

参考来源[ ]

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 生成片段