1. ホーム
  2. elasticsearch

[解決済み] elasticsearchで本当にデータを再インデックス化する方法

2022-03-01 09:33:54

質問

新しいマッピング(主に既存フィールドの未解析バージョン)を追加したのですが、既存のデータのインデックスを再作成する方法を見つけなければなりません。エラスティックサーチのウェブサイトにあるガイドに従ってみましたが、あまりにも分かりにくいです。プラグイン(elasticsearch-reindex, allegro/elasticsearch-reindex-tool)を使ってみることもできました。 私は見てきました ElasticSearch - ダウンタイムなしでデータの再インデックス化 というのは、似たような質問です。私は(可能であれば)外部ツールに依存する必要はなく、(元の挿入と同様に)バルクAPIを使用することを試みたいと考えていました。

読み取り専用データなので、インデックス全体を再構築することは簡単にできますが、本番運用時にフィールドを追加したい場合など、長期的にはうまくいかないでしょう。 どなたか、比較的初心者が理解しやすい解決策やESの手順をご存知の方はいらっしゃらないでしょうか。私はバージョン2で、Windowsを使用しています。

解決方法を教えてください。

バージョン2.3.4では、新しいAPI _reindexが利用可能になり、その言葉通りに実行されます。基本的な使い方は

{
    "source": {
        "index": "currentIndex"
    },
    "dest": {
        "index": "newIndex"
    }
}