以下是我实战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 |