Sphinx最新release版本为2.1.9,该版本对于中文文本的索引支持已经很好,安装使用也很方便。
下载最新的代码发布包,按照官方文档简易指南操作即可:
http://sphinxsearch.com/docs/manual-2.1.9.html#quick-tour
不过该官方文档未提及如何处理中文索引的问题,默认配置在建立中文索引结果时是不完整的。
要比较好的支持中文索引,你需要检查和修改默认配置中的CJK(即中日韩编码)相关部分:
sql_query_pre = SET NAMES utf8
morphology = none (这个单词语态选项对中文索引结果有什么影响,可以自行测试下)
charset_type = utf-8
charset_table = 0..9, A..Z->a..z, _, a..z, U+410..U+42F->U+430..U+44F, U+430..U+44F
ngram_len = 1
ngram_chars = U+3000..U+2FA1F
重建索引 /usr/local/sphinx/bin/indexer --all --rotate
启动sphinx守护服务:/usr/local/sphinx/bin/searchd &
进入SphinxQL:
mysql -h0 -P9306
....
mysql> select * from your_idx where match('关键词');
注意默认结果只返回20个,可以通过limit查询指令来指定,
mysql> select * from your_idx where match('关键词') limit 5;
或者通过SetLimits编程接口方法修改,最大1000(配置中max_matches)。
参考链接:
http://www.ivinco.com/blog/using-sphinx-search-engine-with-chinese-japanese-and-korean-language-documents/
by iefreer