1

数百万のドキュメントを含むelasticsearchインデックスがあります。インデックスを構築するスクリプトは、開始から終了まで数時間かかります。これにより、本番データベースのデータに対してコードの変更をテストすることは非常に現実的ではありません。

生産時には、100万個のアイテムがあります。それぞれがサーバーで索引付けされます。コードがフィールドの 1 つに誤って値を設定していることに気付きました。はるかに小さなテスト データ セットを使用する私のローカル開発環境では、私のコードは問題を解決したようです。しかし、過去の経験から、私のユーザーはクレイジーなことをしており、私のテストデータがすべてのケースをカバーすることはめったにありません。(複雑なパーミッションや、相互に作用して 1 つのフィールドの単純なブール値を決定するその他のものがあります。これらの非常に複雑なフィールドは、テスト データでは予期していなかった方向に進むことがあります。)

運用インデックスの台無しを最小限に抑えるために、更新されたelasticsearchインデックス作成コードを運用データベースに対して実行して、すべてのユーザーに対して機能することを確認したいと考えています。具体的には、問題があることがわかっている少数のユーザー データに対して実行したいだけです。このデータは非常に複雑であるため、単純にローカルの開発環境にエクスポートすることはできません。そこに問題があります。

変更をテストするたびに別のインデックスを再構築する必要はありません。(明らかに、別のインデックスを作成して定期的に更新しないと、次にテストするときに古いデータになります。)

考え?アイデア?提案?悪い冗談?毎回インデックスを再構築する必要がありますか? インデックスが完了するのを待つ時間を最小限に抑えるための近道はありますか?

4

0 に答える 0