Sphinx是一个基于SQL的全文检索引擎,可以结合MySQL做全文搜索,它可以提供比数据库本身更专业的搜索功能。Sphinx的主要特性包括:高速索引 、高速搜索、高可用性,提供良好的相关性排名和文档摘要生成,支持分布式搜索,支持布尔、短语、近义词查询、每个文档多个全文检索域(默认最大32个)、每个文档多属性、断词等特性。Sphinx为MySQL设计了一个存储引擎插件,下面讲解下MySQL Sphinx全文检索的配置。
1、到Sphinx官网下载源码包并解压
1 2
| [root@raykaeso mysql]# wget http://sphinxsearch.com/files/sphinx-2.2.8-release.tar.gz [root@raykaeso mysql]# tar -zxvf sphinx-2.2.8-release.tar.gz |
2、编译安装Sphinx
1 2
| [root@raykaeso sphinx-2.2.8-release]# ./configure --prefix=/usr/local/sphinx --with-mysql [root@raykaeso sphinx-2.2.8-release]# make && make install |
注意:如果使用MySQL数据库,编译Sphinx时必须要安装MySQL开发包(mysql-devel),可以使用 yum install mysql-devel安装。如果系统是最小化安装的,主要编译命令是否有(g++),可以使用 yum install gcc-c++安装。
3、配置Sphinx
1 2
| [root@raykaeso sphinx]# cp /usr/local/sphinx/etc/sphinx.conf.dist /etc/sphinx.conf [root@raykaeso sphinx]# vi /etc/sphinx.conf #配置数据库相关连接信息。 |
4、导入测试数据,测试Sphinx
1 2 3
| [root@raykaeso sphinx]# ./bin/indexer --config /etc/sphinx.conf #创建索引 [root@director sphinx]# ./bin/searchd --config /etc/sphinx.conf #开启Sphinx查询服务器,默认端: 9312:sphinx和9306:mysql41 [root@director sphinx]# ./bin/searchd --config /etc/sphinx.conf --stop #关闭Sphinx查询服务器 |