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

相关推荐
程序员编程指南31 分钟前
Qt 开发 IDE 插件开发指南
c语言·c++·ide·qt·elasticsearch
TMT星球42 分钟前
好未来披露2026财年Q1财报:净利润3128万美元,同比大增174%
搜索引擎
TDengine (老段)3 小时前
TDengine 中 TDgp 中添加机器学习模型
大数据·数据库·算法·机器学习·数据分析·时序数据库·tdengine
希艾席帝恩5 小时前
拥抱智慧物流时代:数字孪生技术的应用与前景
大数据·人工智能·低代码·数字化转型·业务系统
Bar_artist5 小时前
离线智能破局,架构创新突围:RockAI与中国AI的“另一条车道”
大数据·人工智能
牛客企业服务6 小时前
2025校招AI应用:校园招聘的革新与挑战
大数据·人工智能·机器学习·面试·职场和发展·求职招聘·语音识别
电商数据girl7 小时前
如何利用API接口与网页爬虫协同进行电商平台商品数据采集?
大数据·开发语言·人工智能·python·django·json
TDengine (老段)7 小时前
TDengine 中 TDgpt 异常检测的数据密度算法
java·大数据·算法·时序数据库·iot·tdengine·涛思数据
蚂蚁数据AntData8 小时前
DB-GPT 0.7.3 版本更新:支持Qwen3 Embedding和Reranker模型、支持知识库自定义检索策略等
大数据·开源·全文检索·数据库架构
计算机小手8 小时前
提升文档管理:推荐一键Docker部署的全文索引搜索引擎工具
经验分享·搜索引擎·docker·全文检索·开源软件