Sphinx是一款基于SQL的高性能全文检索引擎,Sphinx的性能在众多全文检索引擎中也是数一数二的,利用Sphinx,我们可以完成比数据库本身更专业的搜索功能,而且可以有很多针对性的性能优化。
Sphinx在MySQL上安装有两种方式:
第一种方式是采用API调用,我们可以使用PHP,Python,Perl,Ruby等编程语言的API函数进行查询,这种方式不必重新编译MySQL,模块间改动比较少,相对灵活。第二种需要重新编译MySQL,将Sphinx以插件的方式编译到MySQL中去,这种方式对程序改动比较少,仅仅需要改动SQL语句即可,但前提是你的MySQL版本必须在5.1以上。下面是第一种安装方式:
#下载最新稳定版wget http://www.sphinxsearch.com/downloads/sphinx-0.9.9.tar.gztar xzvf sphinx-0.9.9.tar.gzcd sphinx-0.9.9./configure --prefix=/usr/local/sphinx/ --with-mysql --enable-id64makemake install注:coreseek的安装教程来自这里,下面是详细过程:
因为coreseek需要autoconf 2.64以上版本,因此需要升级autoconf,不然会报错。从http://download.chinaunix.net/download.php?id=29328&ResourceID=648 下载autoconf-2.64.tar.bz2,安装方法如下:
tar -jxvf autoconf-2.64.tar.bz2cd autoconf-2.64./configuremakemake install新版本的coreseek将词典和sphinx源程序放在了一个包中,因此只需要下载coreseek包就可以了。
wget http://www.wapm.cn/uploads/csft/3.2/coreseek-3.2.14.tar.gz备注:需要预先设置好字符集为zh_CN.UTF-8,确保正确显示中文,我的系统字符集为en_US.UTF-8也是可以的。
cd testpackcat var/test/test.xml #此时应该正确显示中文/usr/local/mmseg3/bin/mmseg -d /usr/local/mmseg3/etc var/test/test.xml/usr/local/coreseek/bin/indexer -c etc/csft.conf --all/usr/local/coreseek/bin/search -c etc/csft.conf 网络搜索此时正确的应该返回words:1. '网络': 1 documents, 1 hits2. '搜索': 2 documents, 5 hits新版本的已经自动生成。
Sphinx作为一款高性能的SQL全文检索引擎,值得开发者继续关注,尤其是它多语言的API支持,使开发者可以更方便地应用。
原文发布时间为:2015-07-10
本文来自云栖社区合作伙伴“Linux中国”
相关资源:敏捷开发V1.0.pptx