3

作成時と更新時にいくつかのテキストフィールドがsolrにインデックス付けされる数百万のユーザーレコードがある場合、solrに到達しなかったいくつかのレコードに戻ってインデックスを再作成するにはどうすればよいですか?

つまり、solrが日中に数分間ダウンし、数百万のレコードのうち約300のレコードがインデックスに登録されなかった場合はどうなりますか。

何百万ものレコードのインデックスを再作成したくはありません。300だけです。

4

1 に答える 1

5

これを管理する良い方法は、作成および更新時にレコードIDをキューテーブルに挿入し、後で実行してレコードにインデックスを付けるプロセスを作成することです。そうすれば、Solrがダウンした場合でも、どのレコードが処理されなかったかを心配する必要はなく、処理されるまでキューに留まり続けます。これの利点は、トランザクションを完了する前に、データベースがsolrの更新が完了するのを待つ必要がないことです。欠点は、Solrがデータベースの内容と完全に同期していないことです。キュー読み取りプログラムの実行頻度を調整して、そのニーズに対応できます。

于 2011-05-04T13:12:49.247 に答える