1.首先需要安装sphinx(偷个懒直接将这些复制了)
1.下载源码包 http://www.sphinxsearch.com/downloads/sphinx-0.9.9.tar.gz
$ tar xzvf sphinx-0.9.8.tar.gz
$ cd sphinx
$ ./configure --prefix=/usr/local/sphinx --with-mysql=/usr/local/mysql
$ make
$ make install
sphinx.conf样例
链接地址http://download.csdn.net/detail/stuartjing/3603857
2.linux下编辑定时任务 crontab -e
#凌晨4点合并索引,其余时间每分钟更新索引
* 0-3 * * * /usr/local/sphinx/bin/indexer --config /usr/local/sphinx/etc/sphinx.conf delta --rotate
* 6-23 * * * /usr/local/sphinx/bin/indexer --config /usr/local/sphinx/etc/sphinx.conf delta --rotate
0 4 * * * /usr/local/sphinx/bin/indexer --config /usr/local/sphinx/etc/sphinx.conf --merge main delta --rotate
3.注意:全文检索模块需要mysql开启全文索引功能,
开启方法:修改mysql配置文件:window服务器为my.ini,linux服务器为my.cnf,在 [mysqld] 后面加入一行“ft_min_word_len=1”,然后重启Mysql。
4.到了最关键的步骤了,以上一些基本上在网上都能搜索到
既然sphinx都安装完了,就剩下启动了,先建立索引
/usr/local/sphinx/bin/indexer --config /usr/local/sphinx/etc/sphinx.conf delta
/usr/local/sphinx/bin这个是我的安装目录下的bin
到这里执行的时候可能会遇到一些问题例如
出现sphinx必须的库文件无法找到,例如出现以下两种错误
/usr/local/sphinx/bin/indexer: error while loading shared libraries: libmysqlclient.so.16: cannot open shared object file: No such file or directory
/usr/local/sphinx/bin/indexer: error while loading shared libraries: libiconv.so.2: cannot open shared object file: No such file or directory
这主要是因为你安装了一些库后,没有能够配置相应的环境变量。你可以通过建立连接的方式修正这个问题,运行如下命令:
ln -s /usr/local/mysql/lib/libmysqlclient.so.16 /www/wdlinux/mysql/lib/mysql/lib/libmysqlclient.so.16.0.0 (这个是我mysql安装的目录)
ln -s /usr/local/lib/libiconv.so.2 /usr/lib/libiconv.so.2
这里我假设你相应的软件包安装在/usr/local/xxx 目录下,如果你不是安装在相应目录下,你就需要使用你自己的路径。如果你没有安装libiconv软件包,则需要安装下,这个安装比较简单,就不多说了。
如果这样处理不能好,请在下面路路径再参加如下:
在/etc/ld.so.conf里面加入下面:
/www/wdlinux/mysql/lib/mysql (这个是我mysql安装的目录)
#以上为libmysqlclient.so.16.0.0在mysql的路径。
然后用直接输入ldconfig重新加载下库文件。
最后呢别忘了执行 /usr/local/sphinx/bin/searchd 然后就ok了