1. 程式人生 > >ElasticSearch複製索引並修改欄位

ElasticSearch複製索引並修改欄位

elasticsearch是不支援動態的修改mapping欄位的,但是我們如何實現修改某一個欄位呢?
方法為:1、先建立修改後的mapping欄位,欄位名字一致,型別不一致
2、將老索引中的資料複製到新的索引中。
elasticsearch語句:
建立索引後設置新的mapping欄位

PUT my_index
{
  "mappings": {
    "my_type": {
      "properties": {
        "date": {
          "type":   "date",
          "format": "yyyy-MM-dd"
        }
      }
    }
  }
}

將老的索引中的資料複製到新的索引中:

POST _reindex
{
  "source": {
    "index": "metricbeat-*"(老的索引名)
  },
  "dest": {
    "index": "metricbeat"(新的索引名)
  }
}