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
  • 2817

Sphinx + Coreseek 实现中文分词搜索

Sphinx + Coreseek 实现中文分词搜索 Sphinx Coreseek 实现中文分词搜索 全文检索 1 全文检索 vs 数据库 2 中文检索 vs 汉化检索 3 自建全文搜索与使...
  • Sponge_CMZ
  • Sponge_CMZ
  • 2016年12月15日 08:38
  • 2943

php+中文分词scws+sphinx+mysql打造千万级数据全文搜索

Sphinx是由俄罗斯人Andrew Aksyonoff开发的一个全文检索引擎。意图为其他应用提供高速、低空间占用、高结果 相关度的全文搜索功能。Sphinx可以非常容易的与SQL数据库和脚本语言集成...
  • nuli888
  • nuli888
  • 2016年07月12日 21:33
  • 16273

Sphinx中文分词Coreseek+Mmseg安装配置和示例

Coreseek+Mmseg 实现中文分词的安装配置的记录笔记。 安装前首先安装依赖的软件包 yum install make gcc g++ gcc-c++ libtool autoconf aut...
  • l1028386804
  • l1028386804
  • 2015年10月04日 18:06
  • 1457

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

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

Coreseek:中英文混合分词

coreseek是针对中文搜索引擎在sphinx搜索引擎上添加了中文分词功能中文分词使用的是Chih-Hao Tsai的MMSEG算法提供了分词字典,同义词及特殊词的扩展 该文主要针对分词字典的扩展...
  • yangguangmeng
  • yangguangmeng
  • 2016年06月25日 17:12
  • 1407

Ubuntu 12.04下安装中文分词搜索Coreseek

Coreseek 是一款中文全文检索和搜索软件,基于Sphinx研发并独立发布,专攻中文搜索和信息处理领域,适用于行业和垂直搜索、论坛或站内搜索、数据库搜索、文档或文献检索、信息检索、数据挖掘等应用场...
  • yuanyuanstudent
  • yuanyuanstudent
  • 2013年07月16日 16:29
  • 803

Coreseek/sphinx全文检索的了解

Coreseek/sphinx全文检索的了解 概述:   全文检索是一种将文件中所有文本与检索项匹配的文字资料检索方法,全文检索是将存储于数据库中整本书、整篇文章中的任意内容信息查找出来的检索。它...
  • wuchengzeng
  • wuchengzeng
  • 2014年07月03日 09:45
  • 1887

coreseek实现中文检索服务

主要参考了两篇文章,使用的安装版本为 coreseek-4.1-beta.tar 文章一,原地址为:http://zhan.renren.com/itbegin?gid=3602888498033...
  • nellson
  • nellson
  • 2016年07月23日 23:13
  • 951

coreseek中文检索引擎在 LAMP 上的使用

简要:有关于coreseek的介绍、在LAMP上的安装及简单的测试可以参考我的另一篇博客Centos7下安装coreseek中文检索引擎一、安装PHP的sphinx扩展:===============...
  • baidu_30000217
  • baidu_30000217
  • 2016年07月01日 21:19
  • 4954
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:coreseek中文分词与搜索的安装
举报原因:
原因补充:

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