发布于 2014-12-09 09:35:34 | 317 次阅读 | 评论: 0 | 来源: PHPERZ

这里有新鲜出炉的精品教程,程序狗速度看过来!

Coreseek 中文全文检索引擎

Coreseek 是一款中文全文检索/搜索软件,以GPLv2许可协议开源发布,基于Sphinx研发并独立发布,专攻中文搜索和信息处理领域,适用于行业/垂直搜索、论坛/站内搜索、数据库搜索、文档/文献检索、信息检索、数据挖掘等应用场景,用户可以免费下载使用


本文为大家讲解的是在centos下sphinx的安装和配置教程,感兴趣的同学参考下.

sphinx简介

Sphinx是一个基于SQL的全文检索引擎,可以结合MySQL,PostgreSQL做全文搜索,它可以提供比数据库本身更专业的搜索功能,使得应用程序更容易实现专业化的全文检索。Sphinx特别为一些脚本语言设计搜索API接口,如PHP,Python,Perl,Ruby等,同时为MySQL也设计了一个存储引擎插件。

coreseek简介

Coreseek 是一款中文全文检索/搜索软件,以GPLv2许可协议开源发布,基于Sphinx研发并独立发布,专攻中文搜索和信息处理领域,适用于行业/垂直搜索、论坛/站内搜索、数据库搜索、文档/文献检索、信息检索、数据挖掘等应用场景,用户可以免费下载使用

sphinx和coreseek的关系

coreseek相当于sphinx的中文版,多了一个mmseg中文分词插件,支持中文检索,coreseek是基于sphinx开发的.

系统环境:centos 7

软件版本:coreseek 3.2.14

coreseek官方网站是http://www.coreseek.cn,有很全面的资料。
shpinx的官网是http://sphinxsearch.com ,但新版本差别很大,基本就不用看了。

 

1. 下载

$ wget http://www.coreseek.cn/uploads/csft/3.2/coreseek-3.2.14.tar.gz

2. 解压缩

$ tar xzvf coreseek-3.2.14.tar.gz
 

3. 安装mmseg

$ cd mmseg-3.2.14
$ ./bootstrap    #输出的warning信息可以忽略,如果出现error则需要解决
$ ./configure --prefix=/usr/local/mmseg3
$ make && make install
$ cd ..

4. 修改coreseek

因为新版本的gcc改动很大,所以需要修改coreseek的几处代码,在解压缩出的coreseek-3.2.14目录下,可以找到文件sphinxexpr.cpp
搜索// 'this' fixes gcc braindamage可以找到3处 T val = ExprEval ( this->m_pArg, tMatch ); // 'this' fixes gcc braindamage
修改成
T val = this->ExprEval ( this->m_pArg, tMatch ); // 'this' fixes gcc braindamage
否则会出现编译错误。

5. 安装coreseek

好了,可以正式的安装coreseek了,在这之前,请保证你的mysql或者mariadb安装正常,否则这一步无法配置数据源为mysql

$ cd csft-3.2.14 或者 cd csft-4.0.1 或者 cd csft-4.1
$ sh buildconf.sh    #输出的warning信息可以忽略,如果出现error则需要解决
$ ./configure --prefix=/usr/local/coreseek  --without-unixodbc --with-mmseg --with-mmseg-includes=/usr/local/mmseg3/include/mmseg/ --with-mmseg-libs=/usr/local/mmseg3/lib/ --with-mysql    ##如果提示mysql问题,可以查看MySQL数据源安装说明
$ make && make install
$ cd ..

6. 测试

如果上一步没有错误,这里就可以开始基础测试了,

$ cd testpack
$ cat var/test/test.xml    #此时应该正确显示中文
$ /usr/local/mmseg3/bin/mmseg -d /usr/local/mmseg3/etc var/test/test.xml
$ /usr/local/coreseek/bin/indexer -c etc/csft.conf --all
$ /usr/local/coreseek/bin/search -c etc/csft.conf 网络搜索


这些命令的执行是否正确,我觉得应该可以判断吧,就不写详细的结果了。

7. 服务配置

安装后,会有一个默认的例子
$ mysql -u test < /usr/local/coreseek/etc/example.sql
执行这句安装例子需要的数据。

$ /usr/local/coreseek/bin/indexer --all
建立索引,--all会对所有的配置文件建立索引,目前我们只有一个,就无所谓了。同时也说明,sphinx可以同时存在多个配置文件的。

shpinx的守护进程是searchd,配置文件在/usr/local/coreseek/etc,如果你没有改上一步 --prefix参数的话。
默认的配置文件,名字是sphinx.conf.dist,复制一份,改成csft.conf。

打开csft.conf
找到charset_type项,修改配置,并添加charset_dictpath,注意 /usr/local/mmseg3/etc/ 要以/结尾并且要正确,这个目录下必须有uni.lib文件。

charset_type        = zh_cn.utf-8
charset_dictpath    = /usr/local/mmseg3/etc/


注释掉3行配置

# stopwords    = /var/csft/data/stopwords.txt
# wordforms    = /var/csft/data/wordforms.txt
# exceptions    = /var/csft/data/exceptions.txt

最后,检查一下数据库连接参数,在配置文件的最开始部分。

OK,保存配置文件。

$ /usr/local/coreseek/bin/search test
这个时候可以看到搜索结果。

$ /usr/local/coreseek/bin/searchd
启动搜索服务。

8. PHP测试

在解压缩的源代码目录下的api目录中,可以找到sphinxapi.php和test.php两个文件,执行test就可以进行测试了。PHP开发的时候,包含sphinxapi.php后,就可以仿照test进行搜索相关的开发了。



最新网友评论  共有(0)条评论 发布评论 返回顶部

Copyright © 2007-2017 PHPERZ.COM All Rights Reserved   冀ICP备14009818号  版权声明  广告服务