0

EDITED基準に従ってElasticsearchからデータを削除する方法を見つけようとしています。以前のバージョンの ElasticSearch にはクエリによる削除機能があったことは知っていますが、パフォーマンスに深刻な問題があったため、削除されました。また、クエリによる削除用の Java プラグインがあることも知っています。

org.elasticsearch.plugin:delete-by-query:2.2.0

しかし、パフォーマンスが向上した削除の実装が改善されているのか、それとも古いものと同じなのかはわかりません。

また、誰かがスクロールを使用してデータを削除することを提案しましたが、スクロールを使用して削除する方法ではなく、データのスクロールを取得する方法を知っています!

誰にもアイデアはありますか (呼び出しで削除するドキュメントの量は膨大で、50,000 ドキュメントを超えます。

前もって感謝します!

最後にこの男の 3 番目のオプションを使用しました

4

1 に答える 1

1

スクロール/スキャンを使用したいのは正しいです。手順は次のとおりです。

  1. 新しいスクロール/スキャンを開始します
  2. 次の N レコードを取得する
  3. 各レコードから ID を取得し、それらの ID の BulkDelete を実行します
  4. ステップ2に戻る

したがって、スクロール/スキャンを使用して正確に削除するのではなく、それをツールとして使用して、削除するレコードのすべての ID を取得します。このように、一度に N レコードのみを削除し、1 つのチャンクで 50,000 レコードすべてを削除するわけではありません (これにより、あらゆる種類の問題が発生します)。

于 2016-12-28T04:06:11.550 に答える