# uname -r
3.10.0-229.4.2.el7.x86_64
安裝步驟如下:
1 依賴包的安裝
yum install gcc gcc-c++ libtool mysql-devel libxml2-devel expat-devel
2、下載軟件包
wget http://www.coreseek.cn/uploads/csft/3.2/coreseek-3.2.14.tar.gz
wget http://www.coreseek.cn/uploads/csft/4.0/coreseek-4.1-beta.tar.gz
3、安裝過程(不同版本安裝過程基本相同,以3.2.4爲例)
tar zxvf coreseek-3.2.14.tar.gz
cd coreseek-3.2.14
cd mmseg-3.2.14/
./bootstrap
./configure --prefix=/usr/local/mmseg3
make && make install
cd ../csft-3.2.14/
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 --with-python
根據自己的環境需求,添加相關選項
make && make install
安裝過程錯誤如下:
錯誤1
centOS7上安裝4.1版本,執行 sh buildconf.sh 未生成configure
automake: warnings are treated as errors
/usr/share/automake-1.13/am/library.am: warning: 'libstemmer.a': linking libraries using a non-POSIX
/usr/share/automake-1.13/am/library.am: archiver requires 'AM_PROG_AR' in 'configure.ac'
libstemmer_c/Makefile.am:2: while processing library 'libstemmer.a'
/usr/share/automake-1.13/am/library.am: warning: 'libsphinx.a': linking libraries using a non-POSIX
/usr/share/automake-1.13/am/library.am: archiver requires 'AM_PROG_AR' in 'configure.ac'
src/Makefile.am:14: while processing library ‘libsphinx.a'
總體意思是: archiver requires 'AM_PROG_AR' in 'configure.ac'
解決辦法:在 csft-4.1/configure.ac 文件中,查找:
AC_PROG_RANLIB
後面加上
AM_PROG_AR
最終格式爲:AC_PROG_RANLIB AM_PROG_AR
再次執行 sh buildconf.sh
錯誤2
'automake --add-missing' can install 'ar-lib'
在命令行執行
#automake --add-missing
再次執行 sh buildconf.sh
錯誤3
編譯的時候出現
sphinxexpr.cpp:1823:43: error: ‘ExprEval’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
T val = ExprEval ( this->m_pArg, tMatch ); // 'this' fixes gcc braindamage
處理辦法:
#vim /usr/local/src/coreseek-4.1-beta/csft-4.1/src/sphinxexpr.cpp
1746 T val = ExprEval ( this->m_pArg, tMatch );
形式修改爲 T val = this->ExprEval ( this->m_pArg, tMatch );
1777 T val = ExprEval ( this->m_pArg, tMatch );
形式修改爲 T val = this->ExprEval ( this->m_pArg, tMatch );
1823 T val = ExprEval ( this->m_pArg, tMatch );
形式修改爲 T val = this->ExprEval ( this->m_pArg, tMatch );
錯誤4
In file included from sphinxstd.cpp:24:0:
py_layer.h:16:27: fatal error: Python.h: No such file or directory
#include <Python.h>
這是由於缺少了python環境的devel支持包
解決辦法:yum install python-devel
啓動服務及測試
cd ../testpack/
##如要啓動搜索服務,請使用
/usr/local/coreseek/bin/searchd -c etc/csft.conf(注意-c後面是相對路徑)
##如要停止搜索服務,請使用
/usr/local/coreseek/bin/searchd -c etc/csft.conf --stop
/usr/local/src/coreseek-3.2.14/testpack/etc/pysource
支持python選項,會有一個