ES索引重建(零工具纯脚本执行)

作者:fyupeng

技术专栏:☞ https://github.com/fyupeng

项目地址:☞ https://github.com/fyupeng/distributed-blog-system-api

项目预览地址:☞ 预览


在日常开发与业务迭代过程中,索引结构的调整是 Elasticsearch 应用场景中非常常见的需求 ------ 随着业务需求的更新(比如字段新增 / 类型调整、分词规则优化、数据结构适配业务逻辑变更等),原有 ES 索引的 Mapping/Settings 配置往往无法满足新的业务诉求。而 ES 本身不支持直接修改已创建索引的核心配置(如字段类型、分词器),因此索引重建就成为解决这类问题的核心方案。
回归正题,索引重建主要包括这几步:

数据备份与迁移、旧索引清理与新索引重建、数据回迁与验证和业务切换。这里为了方便,业务切换采取的服务重启自动重建索引。

第一步:拷贝源索引上的数据 到 临时索引上

cmd 复制代码
curl -XPOST "http://localhost:9200/_reindex" -H "Content-Type: application/json; charset=UTF-8" -d "{\"source\":{\"index\":\"scs-ckp-task-2026\"},\"dest\":{\"index\":\"scs-ckp-task-2026-copy\"},\"max_docs\":100000}"

第二步:验证临时索引是否创建,数据是否与原数据一致

cmd 复制代码
# 原索引数据计数
curl -XGET "http://localhost:9200/scs-ckp-task-2026/_count"
cmd 复制代码
# 临时索引数据计数
curl -XGET "http://localhost:9200/scs-ckp-task-2026-copy/_count"
# 返回成功结果示例:{"count":28675,"_shards":{"total":1,"successful":1,"skipped":0,"failed":0}}

第三步:删除原索引(谨慎操作,临时索引要保留,为了重建索引)

cmd 复制代码
curl -XDELETE "http://localhost:9200/scs-ckp-task-2026"
# 返回成功结果示例: {"acknowledged":true}

第四步:波塞冬重新部署 SCS 服务

cmd 复制代码
# 保证执行以下命令能查询出结果
curl -XGET "http://localhost:9200/scs-ckp-task-2026/_count"
# 返回成功结果示例:{"count":0,"_shards":{"total":3,"successful":3,"skipped":0,"failed":0}}
第五步:临时索引把数据重新复制回新索引
cmd 复制代码
curl -XPOST "http://localhost:9200/_reindex" -H "Content-Type: application/json; charset=UTF-8" -d "{\"source\":{\"index\":\"scs-ckp-task-2026-copy\"},\"dest\":{\"index\":\"scs-ckp-task-2026\"},\"max_docs\":100000}"
相关推荐
2501_943695332 小时前
高职工业大数据应用专业,怎么学习工业互联网平台的操作?
大数据·学习
Elastic 中国社区官方博客2 小时前
使用 Jina Embeddings v5 和 Elasticsearch 构建“与你的网站数据聊天”的 agent
大数据·人工智能·elasticsearch·搜索引擎·容器·全文检索·jina
Elastic 中国社区官方博客2 小时前
Elastic 公共 roadmap 在此
大数据·elasticsearch·ai·云原生·serverless·全文检索·aws
码云数智-大飞2 小时前
像写 SQL 一样搜索:dbVisitor 如何用 MyBatis 范式颠覆 ElasticSearch 开发
sql·elasticsearch·mybatis
Spume--2 小时前
AI护栏 (AI Guardrails) - 大模型防火墙
大数据·人工智能·ai编程·ai护栏
AORUO奥偌2 小时前
以智慧科技,筑就全时段护理守护网
大数据·人工智能·科技·智能病房呼叫系统·智能医护对讲系统·智慧病房系统
海兰2 小时前
Jina Embeddings V5 Text + Elasticsearch 9.x 本地部署指南
elasticsearch·jenkins·jina
后季暖2 小时前
flink火焰图使用
大数据·flink
lingling0092 小时前
2026年度AI智能体平台推荐榜单:技术融合与组织赋能双维度综合评估
大数据·人工智能