Elasticsearchでのreindexとclone indexの違い

Question:  Elasticsearchでのreindexとclone indexの違いはなに?

ElasticSearch 7.4からは、新しく導入されたClone Index APIとreindexの違いはんだろうか?

答え: Reindexは、ソースインデックスから設定をコピーしない。マッピング、シャード数、レプリカなどは事前に設定しておく必要がある。一方clone indexは 、ターゲットインデックスがソースインデックスとすべての点で同一であることを保証してくれる。

他にもclone indexはスナップショットAPIやReindex APIを使用するよりもClone Index APIの主な利点はスピードにもあるといえる。Clone Index APIはソースインデックスからターゲットインデックスにセグメントをハードリンクするため、そのコンテンツを再処理することがない(ただしハードリンクをサポートするファイルシステム上では。そうでなければファイルはファイルシステムレベルでコピーされる。)

注意: clone indexは以前のreindex等のソリューションよりもはるかに高速ではあるものの、ダウンタイムが発生する。

インデックスをクローンするための API を追加します。これはインデックスのスプリットやシュリンクAPIと似ていますが、プライマリシャードの数が同じになるという違いだけです。ファイルシステムがハードリンク機能を提供している場合、これは非常に安価な操作です。 Add Clone Index API by ywelsch · Pull Request #44267 · elastic/elasticsearch · GitHub