Sphinx_Query失败:没有启用本地索引进行搜索

DEV*_*OPS 4 php mysql sphinx

嗨我在我的测试服务器中配置了sphinx搜索.

现在我收到这种错误"Sphinx_Query失败:没有启用本地索引搜索".

我不知道为什么会出现这个错误.任何身体都可以帮助我.

这是我的狮身人面像

source objectcollection
{
    type                    = mysql
    sql_host                = localhost
    sql_user                = root
    sql_pass                = root
    sql_db                  = mydatabase
    sql_port                = 3306  

    sql_query                       = \
        SELECT id, id as mid  obtype_id, searchtext from tab_objectcollection;

    sql_attr_uint           = mid
    sql_attr_uint           = obtype_id
    sql_query_info      = SELECT * FROM tab_objectcollection WHERE id=$id

}


index combinedobject
{
    source              = objectcollection
    path                = /usr/local/sphinx/var/data/objectcollection
    morphology          = stem_en
    min_stemming_len    = 4
    stopwords           = /usr/local/sphinx/var/data/stopwords.txt
    min_word_len        = 3
    min_prefix_len      = 3
    min_infix_len       = 0
    enable_star         = 1
    phrase_boundary = ., ?, !, U+2026 # horizontal ellipsis
    phrase_boundary_step = 100
    html_strip = 1

}


indexer
{
        # memory limit, in bytes, kiloytes (16384K) or megabytes (256M)
        # optional, default is 32M, max is 2047M, recommended is 256M to 1024M
        mem_limit = 256M

        # maximum xmlpipe2 field length, bytes
        # optional, default is 2M
        #
        max_xmlpipe2_field = 16M


        # write buffer size, bytes
        # several (currently up to 4) buffers will be allocated
        # write buffers are allocated in addition to mem_limit
        # optional, default is 1M
        #
        #write_buffer = 16M
}

searchd
{
    listen              = 3312
    max_matches         = 10000
    log                 = /usr/local/sphinx/var/log/searchd.log
    query_log           = /usr/local/sphinx/var/log/query.log
    pid_file            = /usr/local/sphinx/var/log/searchd.pid
}
Run Code Online (Sandbox Code Playgroud)

谢谢

bar*_*ter 6

有你

  1. 实际构建索引 - 即称为"索引器"程序,以制作索引文件.
  2. 开始搜索守护进程 - searchd


Tim*_*mmm 5

我认为这个错误意味着 sphinx 无法在索引中找到“path”指定的文件。就我而言,我有:

path = /var/lib/sphinxsearch/data/delta
Run Code Online (Sandbox Code Playgroud)

我已经indexer成功地运行了(或者我是这么认为的),如下所示:

indexer delta --rotate
Run Code Online (Sandbox Code Playgroud)

据说收集了一些文件。然而它实际上创建了这些文件:

/var/lib/sphinxsearch/data/delta.new.sp?
Run Code Online (Sandbox Code Playgroud)

并且searchd无法旋转文件。日志中是这样说的:

WARNING: rotating index 'delta': rename '/var/lib/sphinxsearch/data/delta.mvp' to '/var/lib/sphinxsearch/data/delta.old.mvp' failed: No such file or directory
Run Code Online (Sandbox Code Playgroud)

解决方案是:删除那些new文件并运行indexer而不是--rotate第一次。

第一次不起作用的事实--rotate对我来说似乎有点错误,但我真的懒得提交错误报告。可能需要我注册或者一些废话。无论如何,希望这会有所帮助。