基于Sphinx的中文全文检索引擎Coreseek的安装
按照Sphinx来进行全文检索,默认只支持按字拆分,如果要实现比较好的中文分词,可以使用基于libmmseg的引擎Coreseek。
yum install g++
yum install gcc
yum install make
yum install mysql mysql-devel php-mysql qt4-mysql
wget http://www.coreseek.cn/uploads/sources/mmseg3_0b3.tar.gz
wget http://www.coreseek.cn/uploads/sources/csft3_0b4.tar.gz
tar -xzvf mmseg3_0b3.tar.gz
tar -xzvf csft3_0b4.tar.gz
cd mmseg.3.0b3/
./configure --prefix=/var/mmseg
make
make install
cd ..
cd csft3_0b4
./configure --prefix=/var/coreseek --with-mysql --with-mmseg-includes=/var/mmseg/include/mmseg --with-mmseg-libs=/var/mmseg/lib/
make
make install
cd /var/coreseek/
mkdir dict
cd /home/hfahe/mmseg.3.0b3/data
/var/mmseg/bin/mmseg -u unigram.txt
cp unigram.txt.uni /var/coreseek/dict/uni.lib
cd /var/coreseek/dict/
vi mmseg.ini
输入
cd /var/coreseek/etc/
cp sphinx.conf.dist sphinx.conf
mysql -h 192.168.1.xxx -u root -pxxx test < example.sql
vi sphinx.conf
修改配置里的数据库ip、用户名、密码、数据库
/var/coreseek/bin/indexer --config /var/coreseek/etc/sphinx.conf
这时可能会出现关于libmysqlclient的错误,解决办法如下:
locate libmysqlclient.so
ln -s /usr/local/lib/mysql/libmysqlclient.so.16 /lib/libmysqlclient.so.16
/var/coreseek/bin/indexer --config /var/coreseek/etc/sphinx.conf --all
/var/coreseek/bin/search --config /var/coreseek/etc/sphinx.conf doc
要支持中文,需要将配置里的charset_type值修改为zh_cn.utf-8,并添加charset_dictpath = /var/coreseek/dict。
还需要将sql_query_pre = SET NAMES utf8这一行配置打开。
/var/coreseek/bin/indexer --config /var/coreseek/etc/sphinx.conf --all
/var/coreseek/bin/search --config /var/coreseek/etc/sphinx.conf 中文
试试是否已经可以正常检索中文了。
coreseek默认的配置文件是etc下的csft.conf,使用此文件时可以不需要加入config的配置。
此时应该已经可以显示正确结果了。
posted on 2010-04-22 19:28 android开发实例 阅读(198) 评论(0) 编辑 收藏 举报