coreseek常报错误

来源:互联网 发布:网络保险平台可靠吗 编辑:程序博客网 时间:2024/04/30 02:07
类型:Linux

问题详解:: 1. Unigram dictionary load Error:

  词典路径设置不正确,所设置的路径下没有uni.lib;特别要注意使用相对路径时,是否正确对应到了实际的目录;测试是否存在,可以在命令行执行:dir charset_dictpath所设置的目录,检查是否存在!


2. Segmentation fault 或者 段错误:可能原因如下

  词典路径设置不正确,或者自己构造的词典数据过多(建议不超过20w条);

  max_matches参数设置过大,建议设置在10000以内;


3. iniparser: cannot open ......mmseg.ini:

  mmseg.ini没有设置,请在提示的位置创建mmseg.ini,然后前往mmseg.ini参考设置所需要的参数即可!


4. FATAL: failed to parse config file '......csft.conf':

或者:FATAL: config file '......csft.conf' does not exist or is not readable   没有设置配置文件或者配置文件位置不正确,使用相对路径时需要特别注意(例如在bin目录中直接运行indexer);请使用“-c 配置文件完整路径/csft.conf”,来进行设置


5. WARNING: no such index '......', skipping.:

  配置文件中没有找到对应的索引名称,请查看提示的名称是否设置!


6. ERROR: unknown key name 'charset_dictpath' in ......:

  当前运行的程序不支持或者没有安装启用中文分词,请参考安装说明进行操作以便支持中文分词


7. FATAL: index '......': unknown charset type 'zh_cn.utf-8':

  没有设置charset_dictpath,或者charset_dictpath设置的路径下没有uni.lib;或者使用的不是coreseek。


8. Windows下面出现"应用程序错误:应用程序无法正常启动(0x????????)。请单击”确定“关闭应用程序。":(如下图所示)

  此时需要下载安装Python2.6 Windows (x86);请使用x86版本,如果使用64位版本的Python将无法正常运行。

  



9. 编译时错误提示:undefined reference to:

  posixmodule.c:(.text+0x367e): undefined reference to `forkpty'
  posixmodule.c:(.text+0x3714): undefined reference to `openpty'

  启用Python数据源支持时,没有按照提示设置LIBS,请查看安装指南Python数据源部分设置LIBS,然后重新configure后编译安装


10. 编译时错误提示:typedef unsigned int 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行,注释该行,保存退出重新编译即可!


11. failed to open ....spl或者FATAL: no valid indexes to serve或者类似错误提示:

  首先,执行命令:dir 提示的文件,检查提示的文件是否存在;

  其次,执行命令:dir 提示的文件所在目录,检查提示的文件所在目录是否存在;

  然后,请确认是否执行了indexer并正确建立了索引;

  特别要注意,要在出现以上提示后,马上执行上面的命令检查;

  如果,使用相对路径时,要仔细检查是否正确对应到了实际的目录;


12. Windows下面出现"应用程序错误:应用程序无法正常启动(0x????????)。请单击”确定“关闭应用程序。":(如下图所示)

  

  如果使用coreseek 3.x,此时需要下载安装Microsoft Visual C++ 2005 Redistributable Package (x86,2.6M大小);请使用x86版本,如果使用64位版本的将无法正常运行。

  如果使用coreseek 4.x,此时需要下载安装Microsoft Visual C++ 2008 Redistributable Package (x86,1.7M大小);请使用x86版本,如果使用64位版本的将无法正常运行。


13. 搜索时出现:unknown local index '索引名称' in search request:

  该提示表示Query("搜索字符串","索引名称")时的第二个参数-索引名称-在配置文件中不存在,请仔细核对!或者将其修改为“*”,表示在所有索引中搜索!



14. Windows2003:The Application failed to initialize properly ( 0xc0150002 )或者“应用程序错误:应用程序无法正常启动(0x????????)。”

  可以安装:Microsoft Visual C++ 2005 SP1 Redistributable Package (x86),进行测试,下载地址:http://www.microsoft.com/downloads/details.aspx?familyid=200B2FD9-AE1A-4A14-984D-389C36F85647&displaylang=zh-cn


15. Query()查询后没有结果?

  如果是PHP环境,请使用

print("<pre>"); 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:usrlocalcoreseeketc


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.:<br style=";padding: 0px;font-family: Verdana, Geneva, Ar
0 0
原创粉丝点击