当前位置:网站首页>es创建新的索引库并拷贝旧的索引库 实践亲测有效!

es创建新的索引库并拷贝旧的索引库 实践亲测有效!

2020-11-06 21:40:00 会开车的架构师

前言:项目中遇到索引库字段mapping映射类型不匹配的问题,需要修改mapping映射类型,于是就考虑删掉旧的mappings重新设计mappings字段类型再拷贝数据!

第一步、先看下旧的索引库的 settings、mapping结构
GET /intpolicy/_mapping
GET /intpolicy/_settings?pretty
第二步、看下旧的索引库数据量用来拷贝之后做数据量对比
GET /intpolicy/_search
第三步、创建新的索引库  注意settings、mapping结构不要拷贝错误
PUT intpolicy?include_type_name=false
 {
    "settings" : {
      "index" : {
        "number_of_shards" : "1",
        "provided_name" : "intpolicy",
        "creation_date" : "1578638080477",
        "analysis" : {
          "analyzer" : {
            "numanalyzer" : {
              "pattern" : "|",
              "type" : "pattern"
            }
          }
        },
        "number_of_replicas" : "0",
        "uuid" : "cmouqXBLQiyFAJ5BNii8nw",
        "version" : {
          "created" : "6080599"
        }
      }
    },
    "mappings" : {
      "_doc" : {
        "properties" : {
          "advanceTicketLatest" : {
            "type" : "short"
          },
          "advantageType" : {
            "type" : "keyword"
          },
          "arr" : {
            "type" : "text"
          }
        }
      }
    }
}

最后一步 将旧的索引库数据拷贝到新的索引库中
POST _reindex
{
 "source": {
 "index": "intpolicy2"
 },
 "dest": {
 "index": "intpolicy"
 }
}


 

版权声明
本文为[会开车的架构师]所创,转载请带上原文链接,感谢
https://my.oschina.net/u/4629483/blog/4529710