es修改索引类型(reindex)

思路: 1、新建一个备份索引

            2、数据备份

            3、修改原索引(先删除,再重建)

            4、数据恢复

 

-- 创建备份索引
curl -XPUT 'ip:9200/subscribeflowrecord-temp' -H 'Content-Type: application/json' -d '{
    "settings": {
    "number_of_shards": 1,
    "number_of_replicas": 1
    },
    "mappings": {
        "_doc": {
            "properties": {
                "createTime": {
                    "type": "date",
                    "format": "yyyyMMddHHmmssSSS"
                },
                "orderId": {
                    "type": "text"
                },
                "extInfo": {
                    "type": "object"
                },
                "resultCode": {
                    "type" : "text"
                },
                "chargemode": {
                    "type" : "text"
                }
            }
        }
    }
}'

 

--备份

curl -XPOST 'ip:9200/_reindex' -H 'Content-Type: application/json' -d '{
  "source": {
    "index": "index名",
    "query": {
      "match_all": {}
    }
  }, 
  "dest": {
    "index": "index名-temp"
  }
}'

 

-- 删除需修改的索引
curl -XDELETE 'ip:9200/index名'

 

-- 重建索引,将需修改字段给修改掉

curl -XPUT 'ip:9200/index名-temp' -H 'Content-Type: application/json' -d '{
    "settings": {
    "number_of_shards": 1,
    "number_of_replicas": 1
    },
    "mappings": {
        "_doc": {
            "properties": {
                "createTime": {
                    "type": "date"
                },
                "orderId": {
                    "type": "text"
                },
                "extInfo": {
                    "type": "object"
                },
                "resultCode": {
                    "type" : "text"
                },
                "chargemode": {
                    "type" : "text"
                }
            }
        }
    }
}'

 

-- 将备份数据同步回新的索引
curl -XPOST 'ip:9200/_reindex' -H 'Content-Type: application/json' -d '{
  "source": {
    "index": "index名-temp",
    "size": 5000,
    "query": {
      "range": {
        "lastUpdateTime": {
          "gte": "20200601000000000",
          "lte": "20200630000000000"
        }
      }
     }
  }, 
  "dest": {
    "index": "index名"
  }
}'

你可能感兴趣的:(es修改索引类型(reindex))