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