轻松搞定Elasticsearch的索引字段类型变更

现有这么一个索引es_test,要将age和sex的字段类型从long改为integer

PUT /es_test/_doc/1
{
  "name": "张三",
  "sex": 1,
  "age": 23,
  "address": "广州天河公园"
}

原es_test的映射如下图右侧所示;
在这里插入图片描述

第一步,创建一个新的索引,定义好所需映射

PUT /es_test_bak
{
  "mappings": {
      "properties": {
        "name": {"type": "keyword", "index": true, "store": true},
        "sex": {"type": "integer", "index": true, "store": true},
        "age": {"type": "integer", "index": true, "store": true},
        "address": {"type": "text", "index":true, "store": true}
      }  
  }
}

第二步,将es_test索引的数据复制到es_test_bak索引里

POST _reindex
{
  "source": {
    "index": "es_test"
  },
  "dest": {
    "index": "es_test_bak"
  }
}

在这里插入图片描述

第三步,删除掉原es_test索引

DELETE /es_test

第四步,给es_test_bak索引设置一个es_test的别名

PUT /es_test_bak/_alias/es_test

第五步,确认
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值