0

私はスフィンクス(および一般的な全文検索)が初めてです。メイン+デルタスキームは、時間の経過とともに変化しない大量のデータと追加される新しいデータがある場合に適していると読みました。

だから私は2つのインデックスを持っています。1 つのメイン インデックスと 1 つの RT インデックス。メインインデックスは一度使用してインデックスが作成されますが >indexer --merge index_main index_rt --rotate
、このエラーが発生します FATAL: Failed to merge index index_rt to index_main: source index preload failed: failed to open C:\path\to\index\index_rt.sph ( No such file or directory )

これは、リアルタイム インデックスがディスク インデックスとは異なる方法で格納されているためだと思います。これらのインデックスを直接マージする方法はありますか?

リアルタイムのインデックス更新は必要ないかもしれません。もしそうなら、cron を使用して 1 日 1 回デルタ インデックスを更新し、それらを毎週マージする方がよいでしょうか。

4

1 に答える 1

0

はい、RT インデックスのマージはサポートされていないと思います。それらはすでに多くの部分に分割されています。

通常は、RT インデックスを使用するか、ディスク インデックスを使用するか (メイン + デルタ経由) のいずれかです。

RT インデックスを使用する場合は、大きなインデックスを 1 つだけ用意してください。メイン + デルタに分割しないでください。

(アプリケーションでは難しくありません。sphinxQL を使用して小さなデルタを更新すると、1 つの大きなインデックスを簡単に更新できます)

于 2013-04-17T18:16:41.233 に答える