sphinx/coreseek 安装全过程

第一:先安装mysql数据库开发包

yum install mysql-devel libxml2-devel expat-devel

第二:

##下载coreseek:coreseek 3.2.14:点击下载 、coreseek 4.0.1:点击下载 $ wget http://www.coreseek.cn/uploads/csft/3.2/coreseek-3.2.14.tar.gz $ 或者 http://www.coreseek.cn/uploads/csft/4.0/coreseek-4.0.1-beta.tar.gz $ tar xzvf coreseek-3.2.14.tar.gz 或者 coreseek-4.0.1-beta.tar.gz $ cd coreseek-3.2.14 或者 coreseek-4.0.1-beta ##前提:需提前安装操作系统基础开发库 及mysql依赖库以支持mysql数据源和xml数据源 ##安装mmseg $ cd mmseg-3.2.14 $ ./bootstrap #输出的warning信息可以忽略,如果出现error则需要解决 $ ./configure --prefix=/usr/local/mmseg3 $ make && make install $ cd .. ##安装coreseek $ cd csft-3.2.14 或者 cd csft-4.0.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 .. ##测试mmseg分词,coreseek搜索(需要预先设置好字符集为zh_CN.UTF-8,确保正确显示中文) $ 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 网络搜索

第三步:报错了:

在make时报错,错误内容:
Making all in src
make[1]: Entering directory `/data0/software/coreseek-3.2.14/csft-3.2.14/src'
/bin/sh svnxrev.sh ..
make  all-am
make[2]: Entering directory `/data0/software/coreseek-3.2.14/csft-3.2.14/src'
g++  -Wall -g -D_FILE_OFFSET_BITS=64 -O3 -DNDEBUG   -o indexer indexer.o libsphinx.a  -rdynamic -L/usr/local/webserver/mysql/lib/mysql -lmysqlclient -lz -lcrypt -lnsl -lm  -L/usr/local/mmseg3/lib/ -lmmseg  -lm -lz -lexpat  -L/usr/local/lib -lrt  -lpthread
libsphinx.a(sphinx.o): In function `CSphTokenizer_zh_CN_GBK::GetLocalBuffer(unsigned char*, int, unsigned char*)':
/data0/software/coreseek-3.2.14/csft-3.2.14/src/sphinx.cpp:4764: undefined reference to `libiconv'
libsphinx.a(sphinx.o): In function `CSphTokenizer_zh_CN_UTF8_Private::GetConverterOutput(char const*, char const*)':
/data0/software/coreseek-3.2.14/csft-3.2.14/src/tokenizer_zhcn.h:86: undefined reference to `libiconv_open'
/data0/software/coreseek-3.2.14/csft-3.2.14/src/tokenizer_zhcn.h:89: undefined reference to `libiconv'
libsphinx.a(sphinx.o): In function `xmlUnknownEncoding':
/data0/software/coreseek-3.2.14/csft-3.2.14/src/sphinx.cpp:20719: undefined reference to `libiconv_open'
/data0/software/coreseek-3.2.14/csft-3.2.14/src/sphinx.cpp:20737: undefined reference to `libiconv'
/data0/software/coreseek-3.2.14/csft-3.2.14/src/sphinx.cpp:20743: undefined reference to `libiconv_close'
libsphinx.a(sphinx.o): In function `CSphTokenizer_zh_CN_GBK::SetBuffer(unsigned char*, int)':
/data0/software/coreseek-3.2.14/csft-3.2.14/src/sphinx.cpp:4792: undefined reference to `libiconv'
libsphinx.a(sphinx.o): In function `CSphTokenizer_zh_CN_UTF8_Private::GetConverter(char const*, char const*)':
/data0/software/coreseek-3.2.14/csft-3.2.14/src/tokenizer_zhcn.h:70: undefined reference to `libiconv_open'
/data0/software/coreseek-3.2.14/csft-3.2.14/src/tokenizer_zhcn.h:73: undefined reference to `libiconv'
collect2: ld returned 1 exit status
make[2]: *** [indexer] Error 1
make[2]: Leaving directory `/data0/software/coreseek-3.2.14/csft-3.2.14/src'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/data0/software/coreseek-3.2.14/csft-3.2.14/src'
make: *** [all-recursive] Error 1


解决
一开始以为libiconv的问题,又重装了几次还是一样,最后终于找着办法了
编辑:
./src/MakeFile文件

LIBS = -lm -lexpat -L/usr/local/lib
改成
LIBS = -lm -lexpat -liconv -L/usr/local/lib

第四步:如果不是用yum安装的,可能会mysql库文件不存的问题,加软连接

/usr/local/coreseek/bin/indexer: error while loading shared libraries: libmysqlclient.so.16: cannot open shared object file: No such file or directory

ln -s /usr/local/webserver/mysql/lib/mysql/libmysqlclient.so.16 /lib/libmysqlclient.so.16

有问题Q我加VX:18618146379  http://blog.fendong.cc

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值