gpt4 book ai didi

elasticsearch - Elasticsearch-没有第二次重新索引的零宕机时间重新索引?

转载 作者:行者123 更新时间:2023-12-02 23:10:03 25 4
gpt4 key购买 nike

在正在积极使用的Elasticsearch中为更新重索引重新编制索引时,我们首先执行初始重新编制索引。第一个重新索引完成后,我们更新别名以指向新索引。但是在执行第一次重新索引所需的时间中,原始索引中的某些文档可能已更新。因此,我们执行第二次重新索引,以确保在第一次重新索引期间进行的更新将其更新为新索引。

我做错了吗?在重新索引过程中,是否会在重新索引结束时应用重新索引过程中出现的更新?

例如

如果我将users-v1重新索引为users-v2,这需要6个小时,那么在重新索引完成时,userv-v1中的许多文档将已更新。如果我在第一个小时同步用户John,并且在第四个小时对John进行了更新,那么该更新也将应用于users-v2吗?还是在切换别名后需要执行第二次重新索引以确保更新成功?

最佳答案

您做对了,执行第二次重新索引是正确的。第一次重新索引期间发生的更新将不会自动应用。

希望您有一个lastUpdatedDate字段或类似的字段,以便在第二次重新索引中可以提供一个查询来为所有已更改的文档重新索引。

要考虑的一件事是删除-默认情况下,第二次重新索引将不知道在第一次重新索引期间删除的文档。为了解决这个问题,您可以使用软删除(而不是删除,而是将文档标记为“已删除”),或者,如果可能的话,让删除客户端记录所有已删除的文档ID,然后再从目标索引中删除它们。

关于elasticsearch - Elasticsearch-没有第二次重新索引的零宕机时间重新索引?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61275943/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com