以下是我实战sphinx的心得,写下来与大家分享:
一,下载coreseek:
1
2
3
|
$ wget http: //www .coreseek.cn /uploads/csft/4 .0 /coreseek-4 .1-beta. tar .gz $ tar xzvf coreseek-4.1-beta. tar .gz $ cd coreseek-4.1-beta |
##前提:需提前安装操作系统基础开发库及mysql依赖库以支持mysql数据源和xml数据源
二,安装mmseg
1
2
3
4
5
|
$ cd mmseg-3.2.14 $ . /bootstrap #输出的warning信息可以忽略,如果出现error则需要解决 $ . /configure --prefix= /usr/local/mmseg3 $ make && make install $ cd .. |
三,安装coreseek
1
2
3
4
5
6
7
8
9
10
11
12
13
|
$ cd csft-3.2.14 或者 cd csft-4.0.1 或者 cd csft-4.1 $ sh buildconf.sh #输出的warning信息可以忽略,如果出现error则需要解决 $ . /configure --prefix= /usr/local/coreseek --without-unixodbc --with-mmseg --with-mmseg-includes= /usr/local/mmseg3/include/mmseg/ --with-mmseg-libs= /usr/local/mmseg3/lib/ --with-mysql ##如果提示mysql问题,要安装下mysql的开发库 ##$ yum install mysql-devel libxml2-devel expat-devel ##然后执行下上面的configure##如果出现错误提示:“ERROR: cannot find MySQL include files.......To disable MySQL support, use --without-mysql option.“,可按照如下方法处理: ##请找到头文件mysql.h所在的目录,一般是/usr/local/mysql/include,请替换为实际的 ##请找到库文件libmysqlclient.a所在的目录,一般是/usr/local/mysql/lib,请替换为实际的 ##configure参数加上:--with-mysql-includes=/usr/local/mysql/include --with-mysql-libs=/usr/local/mysql/lib,执行后,重新编译安装 $ make && make install $ cd .. |
四,安装libsphinxclient
1
2
3
4
|
$ cd testpack /api/libsphinxclient $ . /configure $ make && make install $ cd ../../../ |
五,测试mmseg分词,coreseek搜索(需要预先设置好字符集为zh_CN.UTF-8,确保正确显示中文)
1
2
3
4
5
|
$ cd testpack $ cat 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 网络搜索 |
六,安装php扩展sphinx
首先检查下是不是安装phpize,
1
2
3
4
5
6
7
8
9
10
|
$ phpize - v ##如果显示一些版本信息,证明安装成功,否则需要安装php-devel ##$ yum install php-devel ##然后下载sphinx扩展 $ wget http: //pecl .php.net /get/sphinx-1 .0.4.tgz $ tar xzvf sphinx-1.0.4.tgz $ cd sphinx-1.0.4 $ phpize $ . /configure $ make && make install |
##成功的安装后自动将创建 extname.so并放置于PHP 的扩展库目录中。
##需要调整php.ini,加入 extension=extname.so这一行之后才能使用此扩展库。
1
|
$ php -m | grep sphinx |
##如果出现sphinx的扩展,证明安装成功
七,将sphinx deamon加入rc.local开机自动启动
1
2
|
$ cp /usr/local/coreseek/etc/sphinx .conf.dist /usr/local/coreseek/etc/sphinx .conf $ vi /etc/rc . local |
加入如下脚本
1
|
/usr/local/coreseek/bin/search -c /usr/local/coreseek/etc/sphinx .conf |
八,将sphinx的配置目录的写权限开放(可选)
1
|
$ chmod a+w /usr/local/coreseek/etc/sphinx .conf |