之前用Sphinx(coreseek)几次,相对正常
这次用到,记录些问题
1.coreseek好像没人维护了吗,有点可惜。
2.centOS7 编译和coreseek版本有点问题,需要修改编译文件
3.操作系统内核,gcc版本,编译可能会遇到问题;一般更新下gcc最新版
4.php7的sphinxclient也需要对应版本,不然编译出错。地址:http://git.php.net/?p=pecl/search_engine/sphinx.git;a=shortlog;h=refs/heads/php7
另外说明看用sphiinx还是coreseek要看下需求时候用词库分成,如用词库可以用coreseek+mmseg或者sphiinx+scws
如不用就用sphinx自带的字长来分词,默认sphinx支持一元分词。如需要二元更多,需要自己手动处理字符,作为一元
另外php如调sphinx可用2总方式一个是php扩展libsphinxclient,一个是php class SphinxClient.php
sphinx编译如出错
/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