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}"
相关推荐
喵个咪11 小时前
GoWind CMS 拆解:搜索三板斧——高亮、联想、同义词
后端·搜索引擎·go
喵个咪12 小时前
GoWind Admin 拆解:BI 大屏设计器——schema 即 JSON、resolver 注入与三张快照表的口径谱系
大数据·后端·go
武子康13 小时前
H3-World 的 11.3 小时训练数据,是怎样对齐成动作监督的?
大数据·人工智能·深度学习
字节跳动数据平台14 小时前
火山引擎知识引擎VeKnow进化之路(下):让 AI 智能体更可用、更可信、更懂业务
大数据
Elastic 中国社区官方博客14 小时前
更少的位数,相同的召回率:DiskBBQ 更保守的自动校准扫描
大数据·运维·开发语言·人工智能·elasticsearch·搜索引擎
MyBili15 小时前
Chrome隐私安全配置:完整防护指南
大数据·chrome·谷歌浏览器·隐私安全·浏览器防护·cookie管理·上网痕迹清理
真上帝的左手15 小时前
19. 大数据-数据同步-工具
大数据·数据同步
数字孪生视频孪生15 小时前
在线重构,实时同步:视频动态三维重建打造 “常更常新” 的数字底座
大数据·人工智能·重构·架构·空间计算
Aloudata16 小时前
Claude 做数据分析的这两年:一份复盘与发展线索
大数据·数据库·人工智能·数据挖掘·数据分析·dataagent
Elasticsearch16 小时前
Kibana 中的人工智能连接器:你的 agent 可调用的 90 多个数据源
elasticsearch