Ubuntu14.04下安装Coreseek4.1

2015-01-07 10:31
Ubuntu Coreseek 全文搜索 mmseg
摘要:Coreseek 在 Ubuntu 上安装和 CentOS 不太一样,记录一下 14.04 下的完整安装过程,包括 mmseg 分词和补丁应用。

在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就安装完成了