以前用Sphinx(coreseek)幾回,相對正常php
此次用到,記錄些問題git
1.coreseek好像沒人維護了嗎,有點惋惜。vim
2.centOS7 編譯和coreseek版本有點問題,須要修改編譯文件php7
3.操做系統內核,gcc版本,編譯可能會遇到問題;通常更新下gcc最新版this
4.php7的sphinxclient也須要對應版本,否則編譯出錯。地址:http://git.php.net/?p=pecl/search_engine/sphinx.git;a=shortlog;h=refs/heads/php7
spa
另外說明看用sphiinx仍是coreseek要看下需求時候用詞庫分紅,如用詞庫能夠用coreseek+mmseg或者sphiinx+scws 操作系統
如不用就用sphinx自帶的字長來分詞,默認sphinx支持一元分詞。如須要二元更多,須要本身手動處理字符,做爲一元.net
另外php如調sphinx可用2總方式一個是php擴展libsphinxclient,一個是php class SphinxClient.php it
sphinx編譯如出錯io
/usr/local/sphinx/src/sphinx.cpp:20060:undefined reference to `libiconv_open'
解決辦法:打開configure文件,找到「#define USE_LIBICONV 1」,將註釋去掉,並將1改爲0。
make時,可能出現的錯誤:
sphinxexpr.cpp:1823:43: error: ‘ExprEval’ was not declared in this scope, and no declarations were found by …………
vim src/sphinxexpr.cpp
修改報錯行(1823)的 ExprEval改成 this->ExprEval
第1777,1746可能出現相同的問題,解決方法同樣。
直達行號:
:1777,
修改後,再次: make && make install