在 ElasticSearch 的重建索引 api 完成后,我的目标索引处于什么状态?

What is the state of my destination index after ElasticSearch's reindexing api completes?

我需要更改一个相当大的索引中的映射,因此我创建了一个具有良好映射的新索引,并且我正在使用重建索引 api 将数据从我的旧索引移动到新索引。这个过程将持续大约 18 小时,那么我的目的地索引会是什么样子呢?命令开始时的源索引,还是它足够聪明,可以在命令完成时让我赶上源索引?

如果答案是前者(任务开始时源的状态),是否有一种简单的方法可以让它获取在任务 运行 的 18 小时内创建的所有内容?

唯一可以确定的方法是在重建索引完成之前停止写入源索引。顺便说一句,18 小时听起来很多,为什么要花这么长时间?如果您的源索引和目标索引具有相同数量的分片,您可以尝试拍摄源索引的快照并使用 rename_pattern 和 rename_replacement 选项将其恢复到目标索引,如 here 所述。快照和恢复应该比 18 小时快很多