Coreseek Fulltext Search

  2009-11-10


资料准备

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,内容参见附件,但必须注意的几点:

  1. 防止中文乱码

sql_query_pre = SET NAMES utf8

  1. 加载中文词库

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