coreseek中文全文检索引擎常见错误原因及解决方法

网友投稿 329 2022-06-15


Coreseek 是一款中文全文检索/搜索软件,以GPLv2许可协议开源发布,基于Sphinx研发并独立发布,专攻中文搜索和信息处理领域,适用于行业/垂直搜索、论坛/站内搜索、数据库搜索、文档/文献检索、信息检索、数据挖掘等应用场景,用户可以免费下载使用

本文为大家整理了coreseek/sphinx中文检索引擎的常见问题和解决方法,感兴趣的同学参考下。

Coreseek 是一款中文全文检索/搜索软件,以GPLv2许可协议开源发布,基于Sphinx研发并独立发布,专攻中文搜索和信息处理领域,适用于行业/垂直搜索、论坛/站内搜索、数据库搜索、文档/文献检索、信息检索、数据挖掘等应用场景,用户可以免费下载使用

print("

");

print_r($cl->GetLastError());

print_r($cl->GetLastWarning ());

print_r($res);

print("$lt;pre>")

来输出当前状态并获取提示信息。其中$cl表示SphinxClient对象实例,$res表示Query()的返回;其他语言类似处理。

16. 索引时提示:FATAL: out of memory (unable to allocate ?????? bytes)

该提示表示当前环境下,可以使用的内存不足够;可能是因为其他程序占用内存较多导致可用内存太少;也有可能是因为配置中mem_limit设置太大。

17. searchd启动时提示:bind() failed on ......, retrying...

该提示表示已有其他搜索服务运行,或者有其他程序占用了配置文件中设置的端口;

如果是Linux/BSD环境,可以通过ps auxww | grep searchd查看当前运行的searchd程序,使用kill杀灭无需使用的进程;

如果是Windows环境,可以使用任务管理器查看当前运行的程序,并结束无需使用的程序。

18. Windows下安装为系统服务,启动时出现1067错误;或者启动出现错误:FATAL: failed to create pid file

该问题出现的原因比较复杂,可能与配置有关,也可能与Windows自身环境有关(Windows自己都可能出现内存错误等)。有可能的解决方法:

将配置文件中的所有路径设置,修改为绝对路径,路径不得包含中文,也不得包含空格,路径分隔符使用“/”而不是“\”,例如:应该使用c:/usr/local/coreseek/etc/,而不使用c:\usr\local\coreseek\etc\

19. 命令行search搜索结果的字段中出现乱码或者???怎么办:

首先,该乱码只是显示乱码,对搜索不产生任何影响,只是因为mysql默认字符集导致查询结果读取数据显示出来不正确;

然后,如果使用的是MySQL4.1、MySQL5.0.x、MySQL5.1.x,请设置my.cnf(Linux/BSD)或者my.ini(Windows),在[client]、[mysql]、[mysqld]的配置段下面,设置或者加上:

default-character-set=utf8

接着,重启mysql服务,继续查询即可正确显示。

注意:Windows需要按照Windows系统安装测试说明文档中方式正确查询和显示UTF-8字符。

20. 索引或者查询时提示:no such filter attribute '

请仔细查看属性说明,请确保你调用的属性或者字段名使用"sql_attr_类型"设置了。

21. 编译时,出现 DWORD 错误:

如果编译中出现如下错误:

DWORD定义冲突: /usr/local/mmseg3/include/mmseg/csr_typedefs.h:64: 错误: 相互冲突的声明‘typedef unsigned int DWORD’

/usr/include/sqltypes.h:97: 错误: ‘DWORD’早先被声明为‘typedef long unsigned int DWORD’

解决方法:vi /usr/local/mmseg3/include/mmseg/csr_typedefs.h,到64行,注释该行,保存退出重新编译即可!

22. 索引或者查询时提示:ERROR: invalid token in 配置文件 line 1 col 1.:

该提示表示当前的配置文件的编码不是UTF-8(无BOM头)格式,无法正确解析,请使用编辑软件打开配置文件,另存为UTF-8(无BOM头)格式;

错误的编码格式包括:Unicode、Unicode BOM、Unicode big endian、Unicode 低位在前、UTF-8 + BOM、UTF-8 Signature、UTF-8 包含签名等;

特别注意:Windows自带的记事本(Notepad)或者写字板(WordPad)无法正确保存为所需格式,请勿使用其编辑配置文件;

推荐编辑器:点击下载Notepad2绿色版;使用Notepad2打开配置文件,依次选择:“文件”菜单--“编码”--“UTF-8”,然后保存文件(快捷键CTRL+S)即可。

23. ERROR: connection to localhost:**** failed (errno=111, msg=Connection refused).:

原因很简单,可能为:1. searchd没有启动;2. 连接的IP和端口不正确;3. 跨服务器时,检查防火墙是否允许连接。

24. 编译时提示:libtool: unrecognized option `--tag=CC' ...... make[2]: *** ......:

系统上老版本libtool的配置影响了libtool的正常使用,执行mv /usr/share/libtool /usr/share/libtool_old ; ln -s /usr/local/share/libtool /usr/share/libtool,然后再次解压coreseek(先删除旧的),并重新进行安装编译过程。

25. 搜索时提示:searchd error: client version is higher than daemon version ......:

该问题说明你所使用的SphinxClient接口,与服务器端的版本不一致。需要使用安装Coreseek/Sphinx的包里面的api/目录下对应的Client库。

26. 编译时提示:tokenizer_zhcn.h:26:30: error: SegmenterManager.h:

该问题说明编译mmseg的时候,没有执行:$ ./bootstrap,请前往编译安装指南查看具体步骤。

27. 编译时提示:undefined reference to `libiconv':

该问题说明当前环境的iconv没有安装或者没有正确设置,请前往编译安装指南查看具体解决方法。


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:每一个C#开发者必须知道的13件事情(每一个传说都会随时间褪色什么歌)
下一篇:Java 并发学习笔记总结(java设计模式)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~