3

次のようにステミングが設定された単一フィールドの Sphinx インデックスがあります。

index main_sphinxalert
{
            # Options:
            type = rt
            path = /var/lib/sphinxsearch/data/main_sphinxalert
            morphology = stem_en

            # Fields:
            rt_field = query
}

次に挿入します:

mysql> INSERT INTO main_sphinxalert VALUES(201,'tables');
Query OK, 1 row affected (0.00 sec)

そして次を選択します。

mysql> SELECT * FROM main_sphinxalert WHERE MATCH('tables');
+------+--------+
|  id  | weight |
+------+--------+
| 201  |  1709  |
+------+--------+
1 row in set (0.00 sec)

ただし、ステムを選択することはできません:

mysql> SELECT * FROM main_sphinxalert WHERE MATCH('table');
Empty set (0.00 sec)

誰が何を与えるか教えてもらえますか?

4

1 に答える 1

4

作成された後、Sphinx はリアルタイム インデックスの構成ファイルへの変更を読み取らないことが判明しました。詳細については、こちらを参照してください。

これを回避する方法は次のとおりです。

sudo service sphinxsearch stop

次に、すべてのインデックスファイルを削除します(私にとっては に保持されています/var/lib/sphinxsearch/data/):

sudo rm main_sphinxalert.*

次に、サービスを再起動します。

sudo service sphinxsearch start

つまり、既存のインデックスが失われ、データベースから手動で再構築する必要があります。

于 2013-04-22T13:14:52.030 に答える