4

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

现在我收到这种错误“Sphinx_Query failed: no enabled local index to search”。

我不明白为什么会出现这个错误。任何机构都可以帮助我。

这是我的狮身人面像会议

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
}

谢谢

4

4 回答 4

7

  1. 实际建立索引 - 即称为“索引器”程序,以制作索引文件。
  2. 启动搜索守护进程 -searchd
于 2012-05-12T22:03:02.793 回答
4

我认为这个错误意味着 sphinx 在您的索引中找不到由“路径”指定的文件。就我而言,我有:

path = /var/lib/sphinxsearch/data/delta

我已经indexer成功地运行了(或者我认为)是这样的:

indexer delta --rotate

它说收集了一些文件。但是它实际上创建了这些文件:

/var/lib/sphinxsearch/data/delta.new.sp?

并且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

解决方案是:删除这些new文件并在indexer没有--rotate第一次的情况下运行。

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

于 2012-10-10T13:11:27.663 回答
0

我对您的问题的理解是,在配置文件中,您必须提及要将哪些表或数据编入其中。Sphinx 守护进程也可能存在问题,它无法创建索引数据并将其写入文件。请检查上述内容。希望能以某种方式有所帮助。

于 2012-05-11T08:25:24.810 回答
0

这似乎是 sphinx 2.0.5 的问题,它在此处归档:

http://sphinxsearch.com/bugs/view.php?id=1268

尝试使用不同的版本(我尝试了 2.0.6 并且问题消失了)

于 2012-11-11T20:59:08.780 回答