zoukankan      html  css  js  c++  java
  • coreseek常见错误原因及解决方法

    个人标注:安装coreseek请参考官网:http://www.coreseek.cn/products-install/install_on_bsd_linux/。

    一些必须装的gcc,g++等,也可网上查查。

    Coreseek 中文全文检索引擎

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

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

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

    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.:

    该提示表示当前的配置文件的编码不是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没有安装或者没有正确设置,请前往编译安装指南查看具体解决方法。

  • 相关阅读:
    Java实现 蓝桥杯 算法训练 画图(暴力)
    Java实现 蓝桥杯 算法训练 画图(暴力)
    Java实现 蓝桥杯 算法训练 相邻数对(暴力)
    Java实现 蓝桥杯 算法训练 相邻数对(暴力)
    Java实现 蓝桥杯 算法训练 相邻数对(暴力)
    Java实现 蓝桥杯 算法训练 Cowboys
    Java实现 蓝桥杯 算法训练 Cowboys
    55. Jump Game
    54. Spiral Matrix
    50. Pow(x, n)
  • 原文地址:https://www.cnblogs.com/hfdp/p/6092657.html
Copyright © 2011-2022 走看看