centos7下安装coreseek4.1

私家菜地 / 2023-08-13 / 原文

coreseek官方网站已经关门了,网上找了一个下载源

下载:https://gitee.com/sdagfsdh/coreseek?_from=gitee_search

先安装环境:

yum install make gcc gcc++ gcc-c++ libtool autoconf automake imake mysql-devel libxml2-devel expat-devel
注: 检测以上软件是否安装,如果没有请确保安装;否则无法正常安装Coreseek

开始安装:

#解压出来的文件夹

tar -zxvf coreseek-4.1-beta.tar.gz

cd coreseek-4.1-beta

##############安装 mmseg #################

cd mmseg-3.2.14

./bootstrap #输出的warning信息可以忽略,如果出现error则需要解决,一般不会出现错误

#指定 mmseg 的安装目录

./configure --prefix=/usr/local/mmseg 

make && make install

然后运行mmseg,就能输入安装成功的信息了:

/usr/local/mmseg/bin/mmseg 

出现下列信息,就证明mmseg中文分词已经安装好了。

 

 

接下来,我们要把Sphinx和mmseg结合起来


#############安装 csft ###############

进入coreseek-4.1-beta

先编辑configure.ac,修改

AM_INIT_AUTOMAKE([-Wall -Werror foreign])为

AM_INIT_AUTOMAKE([-Wall foreign])

修改 src/sphinxexpr.cpp 文件,

将该文件中的 1013、1047、1080 行的 ExprEval 改为
this->ExprEval(这里的行数跟网上的教程说的行数不一样,可能是版本的问题吧,但是如果你用的是我提
供的版本,该行数是正确的),懂点 C++ 的同学也可以自己看看 ExprEval 错在哪里。

 

#改完上面所说的问题后:

sh buildconf.sh

./configure --prefix=/usr/local/coreseek --with-mmseg-includes=/usr/local/mmseg/include/mmseg/ --with-mmseg-libs=/usr/local/mmseg/lib/

make && make install

出现错误

libsphinx.a(sphinx.o): In function `xmlUnknownEncoding(void*, char const*, XML_Encoding*)':
/home/coreseek-4.1-beta/csft-4.1/src/sphinx.cpp:22292: undefined reference to `libiconv_open'
/home/coreseek-4.1-beta/csft-4.1/src/sphinx.cpp:22310: undefined reference to `libiconv'
/home/coreseek-4.1-beta/csft-4.1/src/sphinx.cpp:22316: undefined reference to `libiconv_close'
collect2: error: ld returned 1 exit status
make[2]: *** [indexer] Error 1
make[2]: Leaving directory `/home/coreseek-4.1-beta/csft-4.1/src'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/home/coreseek-4.1-beta/csft-4.1/src'
make: *** [all-recursive] Error 1

编辑/src/MakeFile文件把

LIBS = -ldl -lm -lz -lexpat  -L/usr/local/lib -lrt  -lpthread

改成
LIBS = -ldl -lm -lz -lexpat -liconv -L/usr/local/lib -lrt  -lpthread

在安装的过程中,只要不提示错误 error,那么其他的如 warning 信息都是可以忽略的。

至此我们已经成功的将coreseek中文检索引擎安装到我们服务器上来了。

 

############ 配置文件 ##############

安装成功后在/usr/local

coreseek中得配置文件也是csft.conf,而不是sphinx.conf

cd  /usr/local/coreseek/etc
cp  sphinx.conf.dist  csft.conf