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 类型修改

相关推荐
Elastic 中国社区官方博客4 分钟前
使用 Elastic Observability 和 MCP 的 Agentic 驱动 Kubernetes 调查
数据库·elasticsearch·搜索引擎·云原生·容器·kubernetes·全文检索
前端若水8 分钟前
Git 仓库管理命令完全指南(超级详细版)
大数据·git·elasticsearch
中电金信9 分钟前
中电金信X四川农商银行打造分布式核心系统建设样板
大数据·人工智能
yiruwanlu11 分钟前
特色美食赋能乡村文旅设计:经典案例落地路径深度解析
大数据·人工智能·python
黎阳之光22 分钟前
黎阳之光:以视频孪生硬核实力,抢抓交通科技新机遇
大数据·人工智能·算法·安全·数字孪生
juniperhan22 分钟前
Flink 系列第15篇:Flink 侧输出(Side Output)详解及实践
java·大数据·分布式·flink
一个天蝎座 白勺 程序猿23 分钟前
时序数据库选型从迷茫到清晰:国产DolphinDB凭什么成为大数据场景下的首选?
大数据·数据库·时序数据库
无忧智库24 分钟前
大型集团管控型OA协同平台:从需求到落地的完整拆解(PPT)
大数据
老陈头聊SEO26 分钟前
AI与SEO关键词优化的融合及其应用探索
其他·搜索引擎·seo优化
搞科研的小刘选手1 小时前
【 IEEE出版 】第七届大数据、人工智能与软件工程国际学术会议(ICBASE 2026)
大数据·人工智能·深度学习·机器学习·软件工程·软件开发·电子信息