4

こんにちは私はテストサーバーでスフィンクス検索を構成しました。

「Sphinx_Queryが失敗しました:検索できるローカルインデックスがありません」というこの種のエラーが発生します。

このエラーの理由がわかりません。どんな体でも私が嘆願するのを助けることができます。

これは私のスフィンクスのconfです

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 2.0.5 の問題のようです。ここにファイルされています。

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

別のバージョンを使用してみてください (2.0.6 を試してみましたが、問題はなくなりました)

于 2012-11-11T20:59:08.780 に答える
0

あなたの質問で私が理解しているのは、構成ファイルで、どのテーブルまたはデータにインデックスを付けるかを言及する必要があるということです。また、インデックス付きデータを作成してファイルに書き込むことができないという、Sphinx デーモンに問題がある可能性もあります。上記で確認してください。何らかの形でお役に立てれば幸いです。

于 2012-05-11T08:25:24.810 に答える