ES数据迁移引发的小····事故?
项目开始:
A同学,创建索引,添加数据。进行了数据的初始化操作。
某一天,A同学在数据中添加了新的索引字段,需要修改原有索引,增加索引字段,但是因为更改原有索引字段需要禁用原有索引,禁用索引又会导致当前索引下数据被删除。
索引,A同学复制了原索引,添加了新的索引字段,并执行了如下命令,将原索引数据同步到新索引中,但是并没有禁用原索引。程序从此用上了新索引。
curl --location --request POST 'http://elasticsearch.o2.org:9200/_reindex' \
--header 'Content-Type: application/json' \
--data-raw '{
"source": {
"index": "o2srh_o2sto_store_1_2"
},
"dest": {
"index": "o2srh_o2sto_store_2_2"
}
}'
后来的某一天,程序上线测试环境。
“B同学,查询接口没有返回任何数据了,抓紧看一眼!”
“嗯?”
经B同学排查,ES中存在数据,但是查询条件未命中。当去掉所有查询条件后,仍然无法命中数据信息。遂寻A同学沟通,得知test环境没有新索引后,便去创建了新索引。
查询依旧未命中。
经查,原来是B同学并未进行数据迁移操作。通过上述同步命令操作后,查询命中。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!