coreseek中文分词与搜索的安装

原创 2011年01月14日 11:19:00

由于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/

相关文章推荐

解决sphinx命令行search搜索中文乱码的问题

sphinx 在命令行下用search搜索,匹配出来的结果记录中中文字符乱码。于是到网上到处搜各种解决的方法 mysql配置文件设置character_set_client,character_set...
  • soonfly
  • soonfly
  • 2016年04月28日 21:36
  • 2485

Coreseek error connection to 127.0.0.1:9312 failed (errno=0, msg=)

今天在centos下安装了Coreseek 3.2.14 配置好后发现在命令下可以搜索出结果,但在php中不能连接到搜索服务器,错误信息如下:connection to 127.0.0.1:9312 ...

sphinx中文分词搜索coreseek windows下安装与基本使用简介

sphinx中文分词搜索coreseek windows下安装与基本使用简介 首先说明一下coreseek其实就是基于sphinx的中文分词版本,sphinx本身并没有提供中文分词功能,需要自行安装...

Sphinx中文分词搜索Coreseek Windows下安装与基本使用简介

首先说明一下coreseek其实就是基于sphinx的中文分词版本,sphinx本身并没有提供中文分词功能,需要自行安装中文词库比较麻烦,coreseek提供了中文分词功能,提供了完整的官方中文使用文...

Sphinx + Coreseek 实现中文分词搜索

Sphinx + Coreseek 实现中文分词搜索 Sphinx Coreseek 实现中文分词搜索 全文检索 1 全文检索 vs 数据库 2 中文检索 vs 汉化检索 3 自建全文搜索与使...

coreseek中文分词搜索 简易配置

#MySQL数据源配置,详情请查看:http://www.coreseek.cn/products-install/mysql/ #请先将var/test/documents.sql导入数据库,并配...

sphinx中文分词coreseek在linux下的安装、配置以及使用方法(入门菜鸟级)

最近为公司的项目做分词搜索,于是安装coreseek。但是本人之前只是使用过,根本没有安装过呀,搞个JJ啊。没办法,牛B已经吹了,只能吹爆。 开始在网上找安装教程,发现其实就两篇可用,一篇是官网上的,...

coreseek sphinx+mmseg 斯分克斯 + 中文分词安装

sphinx 就全文检索技术,在一个大型的网站,有上亿条的数据要检索时,用传统的 mysql语名来查询的话,可能要几分钟甚至十多分钟,没有效率,浪费资源,这时我们可以使用sphinx的全文检索功能,就...

sphinx的安装配置和中文分词包coreseek

sphinx在此处下载:
  • ownfire
  • ownfire
  • 2014年09月16日 14:33
  • 12365

sphinx的coreseek4.0中文分词的安装

远程访问的php代码,一定要保存文本为utf-8,不然查询不了中文 文件-》另存为 格式 utf-8  1.yum install glibc make gcc g++ gcc-c++ libto...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:coreseek中文分词与搜索的安装
举报原因:
原因补充:

(最多只允许输入30个字)