Elasticsearch重新索引是否支持零停机?大数据量下查询时机咨询
Elasticsearch _reindex 大索引场景的同步与查询逻辑
- 调用
POST _reindex后,不会立即完成旧索引全量文档的同步。这个操作是异步执行的,Elasticsearch默认按1000条/批次的粒度分批迁移数据,100万条文档会拆分成上千个批次逐步处理,后台自行推进任务。 - 新索引不需要等全量迁移完成就能查询。只要有第一批文档迁移完成,你就能直接查询新索引获取已迁移的数据,后续批次的数据会陆续写入,查询时能实时看到新增的迁移结果。
- 关于零停机特性:迁移期间旧索引可正常读写,你可以通过
wait_for_completion=false参数让_reindex任务后台运行,之后用_tasksAPI监控进度。如果要同步迁移过程中旧索引的新增/更新数据,可做定期增量同步,或者用索引别名切换的方式——先让业务流量通过别名指向旧索引,等全量+增量迁移完成后,将别名切换到新索引,全程业务无感知。
内容的提问来源于stack exchange,提问作者Astart
相关产品推荐
相关产品推荐

