我正在尝试将一个包含200m文档的索引从集群a重新索引到集群b。我在远程源代码中使用了reindexapi,一切正常。在我重新索引的过程中,一些文档被添加到集群a中,所以我想将它们也添加到集群b中。
我再次启动了reindex请求,但似乎reindex过程花费了很多时间,就像它再次为所有内容重新编制索引一样。
我的问题是,集群是否从头开始重新索引所有文档,即使它们没有改变?
我的elasticsearch版本是5.6
我正在尝试将一个包含200m文档的索引从集群a重新索引到集群b。我在远程源代码中使用了reindexapi,一切正常。在我重新索引的过程中,一些文档被添加到集群a中,所以我想将它们也添加到集群b中。
我再次启动了reindex请求,但似乎reindex过程花费了很多时间,就像它再次为所有内容重新编制索引一样。
我的问题是,集群是否从头开始重新索引所有文档,即使它们没有改变?
我的elasticsearch版本是5.6
1条答案
按热度按时间tnkciper1#
elasticsearch不知道文档是否有更改。因此,它尝试将每个文档完全放在两个索引中。如果你有这样的领域
insert_time
在数据中,可以使用reindex with query将a的索引部分限制为b的reindex。这将允许您使用旧的重新索引并更快地完成它。按查询重新索引如下: