ES 修改索引字段类型

大体的原理:
1:按照老索引按需修改,新建新索引
2:转移数据(数据量大,时间会很长)
3:删除老索引
4:给新索引 创建别名

第一步:创建新索引

可以先获取老索引mapping

java 复制代码
GET /old_index/_mapping

-------按需修改mapping结构或类型----

java 复制代码
PUT /new_index
{
  "mappings": {
    "properties": {
      "new_field": {
        "type": "text"
      }
    }
  }
}

第二步:转移数据(数据量大,时间会很长)

使用_reindex API将旧索引的数据复制到新索引中

java 复制代码
POST /_reindex
{
  "source": {
    "index": "old_index"
  },
  "dest": {
    "index": "new_index"
  }
}

异步任务迁移数据

java 复制代码
POST /_reindex?wait_for_completion=false
{
  "source": {
    "index": "old-index"
  },
  "dest": {
    "index": "new-index"
  }
}
响应:
{
  "task": "jxZZibZPQ_mViMJHQyFz5w:7665"
}
查看任务状态:
GET /_tasks/jxZZibZPQ_mViMJHQyFz5w:7665

验证数据是否全部转移:查看新旧索引中的数据总量是否相等

GET /old-index/_count

GET /new-index/_count

第三步 删除旧索引(可选步骤,谨慎操作)

DELETE /old_index

这里可能提示错误,

does not support having a body

可以借助插件工具 直接点击删除

第四步:给新索引 创建别名

java 复制代码
PUT /new_index/_alias/old_index

参考文章
Elasticsearch重建索引-修改索引字段类型
Elasticsearch Mapping 类型修改

相关推荐
阿标在干嘛12 小时前
从全表扫描到毫秒响应:政策快报平台的索引优化实战
大数据
偏爱自由 !12 小时前
5:IDEA中git的使用--git fetch 和 git pull 和解决冲突
git·elasticsearch·intellij-idea
agent89712 小时前
Elasticsearch 慢查询排查:从 Mapping、分片、分页到聚合优化
大数据·elasticsearch·django
今日综合12 小时前
2026精选教务管理系统深度分析:功能差异、收费模式全拆解
大数据·人工智能
thubier(段新建)12 小时前
OWTB 3PL 核心主流程与行业落地方案
大数据·人工智能
YangYang9YangYan13 小时前
2026大数据专业毕业学数据分析的价值
大数据·数据挖掘·数据分析
跨境生态圈13 小时前
2026外贸获客渠道全面洗牌:AI正在重新分配全球流量,你的品牌在答案里吗?
大数据·运维·人工智能·chatgpt
YangYang9YangYan13 小时前
2026大数据专业填报志愿学数据分析的价值
大数据·数据挖掘·数据分析
TTBIGDATA13 小时前
【Ambari Plus】11.Kafka 安装
大数据·hadoop·分布式·kafka·ambari·hdp·ambari plus
星空13 小时前
git指令
大数据·elasticsearch·搜索引擎