古いElasticsearchバージョンからのインデックスの読み取り

Elasticsearchは、前のメジャーバージョンで作成されたインデックスに対して完全なクエリおよび書き込みサポートを提供します。Elasticsearchバージョン5または6で作成されたインデックスがある場合、アーカイブ機能を使用してそれらを新しいElasticsearchバージョンにインポートすることもできます。

アーカイブ機能は、コンプライアンスや規制上の理由、時折の振り返りや調査、またはその一部を再活性化するために、古いElasticsearchデータへの遅い読み取り専用アクセスを提供します。データへのアクセスは頻繁ではないと予想されるため、限られたパフォーマンスとクエリ機能で行われる可能性があります。

これに対して、Elasticsearchは古いスナップショットリポジトリ(バージョン5まで遡る)にアクセスする機能を持っています。スナップショットリポジトリ内のレガシーインデックスは、復元することも、検索可能なスナップショットを介して直接アクセスすることもできるため、アーカイブされたデータはアクセスのためにローカルディスクに完全に存在する必要はありません。

サポートされているフィールドタイプ

古いマッピングは、できるだけ「そのまま」Elasticsearch 8にインポートされますが、選択されたフィールドの一部に対してのみ通常のクエリ機能を提供します:

複数のマッピングタイプを持つElasticsearch 5インデックスは、インポートされる前に最善の努力に基づいて統合されます。

マッピングの自動インポートが機能しない場合、または新しいElasticsearchバージョンがマッピングを理解できない場合、マッピングなしでインデックスをインポートすることにフォールバックしますが、インポートされたインデックスの_metaセクションに元のマッピングを保存します。レガシーマッピングは、GETマッピング APIを使用して調査でき、更新マッピング APIを使用して手動で更新マッピングを設定し、レガシーマッピングの関連セクションをコピーして現在のElasticsearchバージョンで機能するように適応させることができます。自動インポートはほとんどの場合に機能することが期待されますが、そうでない場合は、Elasticチームに報告して将来の改善を図るべきです。

サポートされているAPI

アーカイブインデックスは読み取り専用であり、検索およびフィールド機能 APIを介してデータアクセスを提供します。 Get APIや書き込みAPIはサポートされていません。

アーカイブインデックスでは、クエリを実行することも、与えられたフィールドタイプによってサポートされている限り集計を実行することもできます。

_sourceアクセスにより、データは新しいインデックスに再インデックス化され、現在のElasticsearchバージョンとの完全な互換性を持つことができます。

古いElasticsearch 5または6クラスターをアップグレードする方法

古いクラスターのインデックスのスナップショットを取得し、ES 8によって直接サポートされていないインデックス(すなわち、7.0より古いインデックス)を削除し、古いインデックスなしでクラスターをアップグレードし、その後スナップショットからレガシーインデックスを復元するか、マウントして検索可能なスナップショットを介してアクセスします。

将来的には、今後のアップグレードプロセスを合理化し、将来のメジャーElasticsearchバージョンに移行する際にレガシーインデックスを持ち運ぶのを容易にする計画です。