gpt4 book ai didi

ruby-on-rails - 确保 ElasticSearch 与数据库同步

转载 作者:太空宇宙 更新时间:2023-11-03 16:07:01 25 4
gpt4 key购买 nike

我正在考虑一个每日脚本来执行以下操作,以解决 ES 服务器更新出现问题的任何情况(我还没有高可用性设置,即使如此,它也是在 DB 和 ES 之间复制数据的情况下,这仍然可能是一个好习惯)。在将这个脚本放在一起之前,我想我会检查我是否以正确的方式进行此操作,以及是否有任何我应该使用的库或技术。

该脚本将简单地从数据库中检索所有 ID,并从 ElasticSearch 中检索所有 ID,其中 created_at < current_time (当前时间的快照,因为它是脚本运行时的移动目标)。然后它将根据这些 ID 集之间的差异添加和删除 Elastic 搜索。

这听起来像是一种合理的方法吗?

最佳答案

回答我的问题,这不是最好的方法。

一种更简单但更耗费资源的方法是定期重新构建整个索引。当然,这在生产中很难做到,因为它会导致数分钟或数小时的停机时间,所以诀窍是重建一个新索引并切换到使用它。在 ElasticSearch 中,您不能重命名索引,但可以使用别名。

有对方法的讨论 here和 Tire 用户的抽成任务 here .

关于ruby-on-rails - 确保 ElasticSearch 与数据库同步,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11952558/

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