web-dev-qa-db-ja.com

スフィンクスのインデックスを完全にライブアップデートするにはどうすればよいですか?

それはスフィンクス文書でカバーされています:

http://sphinxsearch.com/docs/manual-0.9.9.html#live-updates

しかし、それを読んだ後、私はそれが本当にそれを達成できるとは思いません。

皆さんもこの問題について考えたことはありますか?

2
abcgreen

ライブアップデートインデックスおよびほぼリアルタイムという用語はひどく誤解を招くと思います。おそらくインデックスを段階的に更新するは、スフィンクスが実際にそこで行っていることに適しています。

とはいえ、関心のあるアプリケーションの場合、提示されたdelta + mainソリューションの最大の制限は、新しいデータのみがデルタでインデックス付けされることです。データベースで更新された以前にインデックス付けされたデータには、再インデックス付けのフラグが付けられません。

1
Riedsio

この投稿はかなり古いですが、最近同様の問題に遭遇しました。

アプリケーションではデルタインデックスとメインインデックスを使用しています。 cronを使用してインデックスのローテーションをスケジュールします。デルタインデックスは数分ごとに更新され、メインインデックスは1日1回更新されます。これにより、両方のインデックスが更新されます。

例えば:

*/5 * * * * /path/to/indexer delta --rotate --quiet

00 7 * * * /path/to/indexer main --rotate --quiet
0
Adam