国内最全IT社区平台 联系我们 | 收藏本站
华晨云阿里云优惠2
您当前位置:首页 > 互联网 > shpinx / coreseek 安装配置教程

shpinx / coreseek 安装配置教程

来源:程序员人生   发布时间:2015-01-17 09:55:23 阅读次数:2654次
sphinx是1个专业的开源搜索引擎,但不支持中文。coreseek相当于sphinx的中文版,使用了mmseg3来支持中文分词。虽然coreseek里面的shpinx版本很低,目前稳定版的coreseek 3.2.14自带的shpinx只有0.9.9,但还用就行。很多教程中,先安装shpinx的最新版,再安装coreseek,这个,不知道是怎样传的,反正这么安装是完全没必要的。


我使用的环境是CentOS 7

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


1. 下载

$ wget http://www.coreseek.cn/uploads/csft/3.2/coreseek⑶.2.14.tar.gz


2. 解紧缩


$ tar xzvf coreseek⑶.2.14.tar.gz


3. 安装mmseg

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


4. 修改coreseek


由于新版本的gcc改动很大,所以需要修改coreseek的几处代码,在解紧缩出的coreseek⑶.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了,在这之前,请保证你的mysql或mariadb安装正常,否则这1步没法配置数据源为mysql

$ cd csft⑶.2.14 或 cd csft⑷.0.1 或 cd csft⑷.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. 测试

如果上1步没有毛病,这里就能够开始基础测试了,
$ 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. 服务配置

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

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

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

打开csft.conf
找到charset_type项,修改配置,并添加charset_dictpath,注意 /usr/local/mmseg3/etc/ 要以/结尾并且要正确,这个目录下必须有uni.lib文件。
charset_type        = zh_cn.utf⑻
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

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

OK,保存配置文件。

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

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


8. PHP测试

在解紧缩的源代码目录下的api目录中,可以找到sphinxapi.php和test.php两个文件,履行test就能够进行测试了。PHP开发的时候,包括sphinxapi.php后,就能够仿照test进行搜索相干的开发了。
生活不易,码农辛苦
如果您觉得本网站对您的学习有所帮助,可以手机扫描二维码进行捐赠
程序员人生
------分隔线----------------------------
分享到:
------分隔线----------------------------
关闭
程序员人生