1:依赖包安装
yum install make gcc gcc++gcc-c++libtool autoconf automake imake mysql-devellibxml2-develexpat-devel
2:coreseek下载
链接:https://share.weiyun.com/5AXLImJ 密码:pbc7vx
3:##############安装 mmseg #################
进入/usr/local/src下
tar -zxvf coreseek-3.2.14.tar.gz
cd coreseek-3.2.14
cd mmseg-3.2.14
./bootstrap #输出的warning信息可以忽略,如果出现error则需要解决,一般不会出现错误
./configure --prefix=/usr/local/mmseg3 #指定 mmseg 的安装目录
make && make install
4:#############安装 csft-3.2.14 ###############
cd /usr/local/coreseek-3.2.14/csft-3.2.14
#这里我们要修改 src/sphinxexpr.cpp 文件,将该文件中的 1013、1047、1080 行的 ExprEval 改为 this->ExprEval(这里的行数跟网上的教程说的行数不一样,可能是版本的问题吧,但是如果你用的是我提供的版本,该行数是正确的),懂点 C++ 的同学也可以自己看看 ExprEval 错在哪里。哈哈我不懂C++都看懂了。。。
#改完上面所说的问题后:
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
在make时如果报错,请先make clean,错误内容:
r/local/src/sphinx/sphinx-0.9.8-rc2/src/tokenizer_zhcn.cpp:280: undefined reference to `libiconv'
libsphinx.a(tokenizer_zhcn.o)(.text+0x6fd):/usr/local/src/sphinx/sphinx-0.9.8-rc2/src/tokenizer_zhcn.cpp:55: undefined reference to
`libiconv_open'
libsphinx.a(tokenizer_zhcn.o)(.text+0x719):/usr/local/src/sphinx/sphinx-0.9.8-rc2/src/tokenizer_zhcn.cpp:58: undefined reference to
`libiconv'
libsphinx.a(tokenizer_zhcn.o)(.text+0x7a4): In function `CSphTokenizer_zh_CN_UTF8::~CSphTokenizer_zh_CN_UTF8()':
/usr/local/src/sphinx/sphinx-0.9.8-rc2/src/tokenizer_zhcn.cpp:34: undefined reference to `libiconv_close'
libsphinx.a(tokenizer_zhcn.o)(.text+0xd04): In function `CSphTokenizer_zh_CN_UTF8::~CSphTokenizer_zh_CN_UTF8()':
/usr/local/src/sphinx/sphinx-0.9.8-rc2/src/tokenizer_zhcn.cpp:34: undefined reference to `libiconv_close'
libsphinx.a(tokenizer_zhcn.o)(.text+0x125c): In function `CSphTokenizer_zh_CN_UTF8::~CSphTokenizer_zh_CN_UTF8()':
/usr/local/src/sphinx/sphinx-0.9.8-rc2/src/tokenizer_zhcn.cpp:34: undefined reference to `libiconv_close'
解决方法:
编辑:
./src/MakeFile文件
将
LIBS = -lm -lexpat -L/usr/local/lib
改成
LIBS = -lm -lexpat -liconv -L/usr/local/lib
常用指令:
cd /usr/local/coreseek/etc
cp sphinx-min.conf.dist csft.conf
/usr/local/coreseek/bin/indexer -c etc/csft.conf --all #创建索引
/usr/local/coreseek/bin/search -c etc/csft.conf 网络搜索#搜索关键字 网络搜索
/usr/local/coreseek/bin/searchd -c etc/csft.conf #正常开启搜索服务
/usr/local/coreseek/bin/searchd -c etc/csft.conf --stop #如要停止搜索服务
/usr/local/coreseek/bin/indexer -c etc/csft.conf --all --rotate #如要已启动服务,要更新索引
以下为csft配置: