Ubuntu14.04下安装Coreseek4.1

在Ubuntu上安装Coreseek和在CentOS上安装有些不一样,在CentOS上,按着Coreseek官网上的说明,可以很顺利的安装下来,在Ubuntu上会出现一些小错误。

在安装Ubuntu前,机器上应该已经装有:make gcc g++ automake libtool mysql-client libmysqlclient15-dev libxml2-dev libexpat1-dev,如果没有就先 sudo apt-get install make gcc g++ automake libtool mysql-client libmysqlclient15-dev libxml2-dev libexpat1-dev

安装前提醒:如果在安装过程中遇到问题,建议先到官网的常见问题解答看看问题是否是那些常见问题,以快速解决。

一、安装mmseg

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

安装完成后,mmseg使用的词典和配置文件,将自动安装到/usr/local/mmseg3/etc中。
来测试一下:
进入testpack目录(和mmseg-3.2.14、csft-4.1同级目录)

$ cd testpack
$ /usr/local/mmseg3/bin/mmseg -d /usr/local/mmseg3/etc var/test/test.xml

如果显示不正常,检查当前环境下的locale和UTF-8中文字符显示设置

二、安装coreseek
在安装coreseek之前需要给coreseek的sphinxexpr.cpp文件打补丁,否则在编译时会报错。如:

error: ‘ExprEval’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]

解决办法:
下载sphinxexpr.cpp.patch.zip,解压后有两个版本的文件,3.2.13和4.1,用4.1的:

$ patch -p1 < sphinxexpr.cpp-csft-4.1-beta.patch

执行后提示File to patch:
要输入sphinxexpr.cpp文件所在的位置,路径在coreseek-4.1-beta/csft-4.1/src/sphinxexpr.cpp
打好补丁后就可以编译安装了

$ cd csft-4.1
$ sh buildconf.sh
$ ./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
$ make && make install

安装完成后来测试一下:

$ /usr/local/coreseek/bin/indexer -c /usr/local/coreseek/etc/sphinx-min.conf.dist

测试正常的提示信息:

Coreseek Fulltext 4.1 [ Sphinx 2.0.2-dev (r2922)]
Copyright (c) 2007-2011,
Beijing Choice Software Technologies Inc (http://www.coreseek.com)

ERROR: nothing to do.

coreseek就安装完成了

发表评论

电子邮件地址不会被公开。 必填项已用*标注