4

インデックスのローテーションと再生成を行った後、Sphinx はデータベースからの新しいレコードを含めません。エラーは発生せず、古いインデックス データも含まれています。

データファイルを削除して再試行しましたが、結果は同じでした。範囲クエリも適用しましたが、結果は同じでした。

そのため、今は検索インデックスを更新できません:(

ここで私は私の設定を与えています、あなたのヒントをありがとう:)

source search_song
{
    type                                    = mysql
    sql_host                                = localhost
    sql_user                                = myusername
    sql_pass                                = mypass
    sql_db                                  = mydb
    sql_port                                = 3306  # optional, default is 3306

    sql_query_pre                   = SET NAMES utf8
    sql_query_pre                   = SET NAMES utf8 COLLATE utf8_turkish_ci
    sql_query_pre                   = SET CHARACTER SET utf8
    sql_query_pre                   = SET COLLATION_CONNECTION = utf8_turkish_ci

    sql_query_range                 = SELECT MIN(song_ID), MAX(song_ID) FROM song
    sql_range_step                  = 20000
    sql_query                       = SELECT song.song_ID, artist.artist_ID, song.title, song_stats.total_read, IF(artist.flag_The = 1, CONCAT("The ", artist.name), artist.name) AS fullname \
                                            FROM song \
                                            INNER JOIN artist ON artist.artist_ID = song.artist_ID \
                                            LEFT JOIN song_stats ON song_stats.song_ID = song.song_ID \
                                            WHERE song.song_ID >= $start AND song.song_ID <= $end;
    sql_attr_uint                   = total_read
}



index search_song
{
    source                  = search_song
    path                    = /var/lib/sphinxsearch/data/search_song
    morphology              = metaphone
    min_word_len            = 1
    min_prefix_len          = 2
    enable_star             = 1
    charset_type            = utf-8
 #   exceptions              = /var/lib/sphinxsearch/exceptions.txt
    charset_table           = A->a, B->b, C->c, U+C7->c, U+E7->c, D..G->d..g, U+11E->g, U+11F->g, H->h, I->i, U+131->i, U+130->i, J..O->j..o, U+D6->o, U+F6->o, P..S->p..s, U+15E->s, U+15F->s, T..U->t..u, U+DC->u, U+FC->u, V..Z->v..z, _, a..z,[,],0..9
}
4

1 に答える 1

2

範囲なしで機能しますか?sql_query だけで、範囲とステップはありませんか?

SQL クエリが結果を制限している可能性があると思われます。

于 2013-11-13T21:26:52.240 に答える