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

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

sphinx的工作原理大至可以这样理解

它快速检索数据库中的每一条记录,然后把记录中的词分出来,并维护一个 表,表中的记录是分出来的词,对应的数据库的那一条数据的主键,当我们拿到主键后,就可以直接到,数据库表中得到这些数据,提高效率

因为英文的中间会有 空格 作用词与词之间的分隔,而汉语中没有空格作为界限,所以中文分词对sphinx来说是比较困难的,所以有了mmseg ,它可以很好的帮助sphinx来进行中文分词

因此就有了  coreseek 软件,其实限上就是    coreseek = sphinx + mmseg

安装coreseek

从 上下载 coreseek 的软件源码包          coreseek-4.1-beta.tar.gz

解压这个包可以得到  

csft-1.4(就是sphinx  这是在coreseek中的 )                        mmseg-3.2.14(这个就是中文分词)       README.txt            testpack( 这时种编程语言的类包,比如说,对php 来说可以有两种方法使用sphinx

第一种方法: 在testpack文件夹中打到  api 文件夹  再找到 sphinxapi.php     以后在php 文件中引入就可以用了, 如,include_once “sphinxapi.php”;

)

一. 因为sphinx的安装要mmseg的支持,所以这里我们先装mmseg

首先建一个mmseg的安装目录   mkdir   /usr/local/mmseg

步骤如下   ;

 # cd mmseg-3.2.14

# ./configure –prefix=/usr/local/mmseg

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

这时就yum 安装一下  automake   autoconf    还有 libtool (具体的现在还不知道为什么这样做, 上都是说的解决方法而不知为什么)

yum install -y automake autoconf  libtool

然后写入以下命令

# aclocal

这条命令会 错,不管它

# libtoolize   –force

# automake –add-missing

这条命令也会  warning 不管它

# autoconf

# autoheader

# 再次   ./cofnigure  –prefix= /usr/local/mmseg

这次检查就会通过

这之后就  make  && make install    mmseg安装完成

补充(

二。安装csft  (也就是sphinx)

进入csft目录 ,会发现,居然没有  configure 的文件,晕,我的办法是和上面的流程一样

Sphinx/Coreseek 4.1 执行 buildconf.sh 错,无法生成configure文件,

  解决方案:

     1. 在 csft-4.1/buildconf.sh 文件中,查找

     后加上


     2. 在 csft-4.1/configure.ac 文件中,查找:
     改为:

     查找:
     后面加上

      3. 最后,在 csft-4.1/src/sphinxexpr.cpp 文件中, 替换所有:
      成为:
以上修改完成后,就生成 ./configure 文件

然后就 make && make install
进入 /usr/local/coreseek/etc目录 因为coreseek的默认配置文件是 csft.conf 所以,把这个目录中的 sphinx.conf.dist 复制一份 为 csft.conf cp sphinx.conf.dist csft.conf



声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2017年5月2日
下一篇 2017年5月2日

相关推荐