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