您的位置:首页 > 其它

coreseek中文分词与搜索的安装

2011-01-14 11:19 489 查看
由于sphinx测试的时候没能找到中文,所以怀疑是sphinx不支持中文分词的原因,所以决定安装coreseek,安装过程如下:

# wget http://www.coreseek.cn/uploads/csft/3.2/coreseek-3.2.14.tar.gz
# tar zxvf coreseek-3.2.14.tar.gz
# cd coreseek-3.2.14

先安装中文分词软件 mmseg
# cd mmseg-3.2.14
# ACLOCAL_FLAGS="-I /usr/share/aclocal" ./bootstrap #用于gcc编译的设置
# ./configure --prefix=/usr/local/mmseg3
# make && make install
## 安装完成后,mmseg使用的词典和配置文件将自动安装到/usr/local/mmseg3/etc中

开始安装 coreseek
# cd csft-3.2.14
# sh buildconf.sh ##生成当前系统对应的编辑配置文件
# apt-get install mysql-client libmysqlclient15-dev libxml12-dev libexpat1-dev ##coreseek支持mysql所需要的软件
# ./configure --prefix=/usr/local/coreseek --with-mmseg --with-mmseg-includes=/usr/local/mmseg3/include/mmseg/ --with-mmseg-libs=/usr/local/mmseg3/lib/ --with-mysql
# make && make install

至此,安装完成。现在可以将testpack中etc下的配置文件拷贝到/usr/local/coreseek/etc下进行数据源配置,其中文分词的核心配置如下
#stopwords = /path/to/stowords.txt的位置
charset_dictpath = /usr/local/mmseg3/etc/ #中文分词字典及配置文件
charset_type = zh_cn.utf-8
#charset_table = .......#需将原有的该配置注释掉
ngram_len = 0 ##表示取消原有的一元字符切分模式,不对中文分词产生干扰

该配置文件与sphinx中的配置文件大致相同,只是修改了上面的核心配置
现开始建立索引并进行搜索测试
# bin/indexer -c etc/csft_claver.conf --all
# bin/search -c etc/csft_claver.conf 银行
结果同原版sphinx一样,非常之郁闷啊

然后测试coreseek testpack下的测试用例,可以得到正确的结果,由此断定coreseek安装没有问题,甚至可能原来的sphinx的安装也没有问题,问题可能出在mysql的数据上。

在命令行模式下重新导入数据库,可问题依旧。
试着在mysql中手动插入了两条记录,搜索新插入记录中的中文,感谢上苍,这回终于搜出新插入的记录了。

由此确定,应该是导入的数据有问题。可是为什么select出来的都是正常的呢。
安装phpmyadmin进数据库看看
$ sudo apt-get install phpmyadmin
从phpmyadmin访问数据库,数据库里的数据居然都是乱码,悲催的。
可是我导出的数据源就是utf8的呀,导入之后怎么成了乱码了呢。
删除数据库,通过phpmyadmin导入,选择utf8编码,成了,数据库显示中文,而且coreseek也能搜索出中文了。

可是为什么通过命令行导入的时候就是乱码呢?原来导入的时候也需要设置字符集的
mysql>create database hf_sns default character set utf8;
mysql>use hf_sns;
mysql>set names utf8;
mysql>source /home/luke/bak/hf_sns.sql

重新导入后,再次测试,这回可以了
哎,困扰了我三天的问题,居然只是set names utf8这一句话。
悲催的

参考网址

coreseek的安装:http://www.coreseek.cn/products/products-install/install_on_bsd_linux/

mysql数据源配置说明:http://www.coreseek.cn/products-install/mysql/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: