1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

AWS OpenSearch インデックスのマッピングのデータ型変更の手順

Posted at

現在AWS OpenSearch マッピングのデータ型が変更できないので、一時のインデックスを経由で、インデックスを再作成して、インデックスのマッピングのデータ型を変更する。
例:以下のインデックスのfield:test-textfloatからkeywordに変更する場合、

{
  "sample_index" : {
    "aliases" : { },
    "mappings" : {
      "dynamic" : "true",
      "_meta" : { },
      "dynamic_date_formats" : [ "strict_date_optional_time", "yyyy/MM/dd HH:mm:ss Z||yyyy/MM/dd Z", "basic_date_time" ],
      "dynamic_templates" : [ ],
      "date_detection" : true,
      "numeric_detection" : false,
      "properties" : {
        "field:test-text" : {
        "type" : "float"
      }
    }
  }
}

・ステップ1:一時のインデックス作成

PUT /sample_index_bk
{
  "mappings" : {
    "properties" : {
      "field:test-text" : {
        "type" : "keyword"
      }
    }
  }
}

・ステップ2:既存のインデックスのデータを一時インデックスへコピーする

POST _reindex
{
   "source":{
      "index":"sample_index"
   },
   "dest":{
      "index":"sample_index_bk"
   }
}

・ステップ3:既存のインデックスを削除する

DELETE /sample_index

・ステップ4:マッピングを変更したいインデックスを作成する

PUT /sample_index
{
  "mappings" : {
    "properties" : {
      "field:test-text" : {
        "type" : "keyword"
      }
    }
  }
}

・ステップ5:ステップ2のように一時インデックスのデータをステップ4に作成したインデックスへコピーする

POST _reindex
{
   "source":{
      "index":"sample_index_bk"
   },
   "dest":{
      "index":"sample_index"
   }
}

・ステップ6:一時インデックスを削除する

DELETE /sample_index_bk
1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?