资料准备
http://www.coreseek.cn/products/ft_down/
下载csft和mmseg,并且分别解压到~/coreseek
安装
开始编译mmseg
./configure –prefix=/usr/local/mmseg
make && make install
复制词库
cp -R ~/coreseek/mmseg-3.1/data /usr/local/mmseg/
生成词库
cd /usr/local/mmseg/data
../bin/mmseg -u unigram.txt
mv unigram.txt.uni uni.lib
开始编译sphinx (coreseek)
./configure –with-mmseg=/usr/local/mmseg –with-mmseg-includes=/usr/local/mmseg/include/mmseg –with-mmseg-libs=/usr/local/mmseg/lib –prefix=/usr/local/csft
make && make install
特别要注意的是mmseg/include下还有一层文件夹,必须写成–with-mmseg-includes=/usr/local/mmseg/include/mmseg,否则出错。
配置
创建/usr/local/csft/etc/csft.conf,内容参见附件,但必须注意的几点:
- 防止中文乱码
sql_query_pre = SET NAMES utf8
- 加载中文词库
index test1
{
source = src1
path = /usr/local/csft/var/data/test1
docinfo = extern
charset_type = zh_cn.utf-8
charset_dictpath = /usr/local/mmseg/data
}
数据库的建立要注意utf8编码,可以直接下载附件在phpmyadmin导入。
使用Sogou的词库
搜狗提供了一个优秀的词库,地址在:http://www.sogou.com/labs/dl/w.html,许可证位于:http://www.sogou.com/labs/dl/license.html
但Sogou的词库和mmseg的格式还是有差别的,需要自己转换格式。
为了方便,我在研究的同时写了一个小程序,用于转换工作,感兴趣的可以在附件处下载。(有小BUG,自己解决,呵呵)
附件也有我转换好的版本,可以直接使用。
PHP中使用sphinx (coreseek)
可以直接安装扩展http://pecl.php.net/package/sphinx
或者使用coreseek包中自带的csft-3.1/api/sphinxapi.php
附件中有使用例子(PHP扩展方式)。
附录(附件列表)
附件下载:mmseg.zip