Elasticsearch执行reindex时向源索引写数据会被同步吗
Elasticsearch Reindex执行窗口期写入源索引的新文档是否会同步到目标索引
默认情况下,这类窗口期内新增的文档不会被同步到目标索引B。
- 原生Reindex API底层靠scroll查询实现,任务刚启动的瞬间就会给源索引A生成一个点时间快照,后续整个复制流程只会拉取这个快照里包含的数据,任务启动后源索引产生的新增、修改、删除操作,都不会被这个快照感知。
- 你说的5分钟任务耗时,只是系统拉取快照存量数据、写入目标索引的处理时间,不是持续监听源索引变更的时间窗口,这段时间新写入A的文档不在初始快照的覆盖范围内,自然不会被同步到B。
要是你需要把这部分增量数据也同步到B,别指望默认Reindex任务能自动覆盖。等Reindex跑完之后,你可以拿任务启动的时间点当分界,基于文档自带的写入时间戳字段查一遍增量数据补写到B就行;要是要求数据零偏差,最好挑业务低峰期短暂停写A之后再跑Reindex,从根源上避免增量漏同步的问题。
内容的提问来源于stack exchange,提问作者David
相关产品推荐
相关产品推荐

