我正在考虑使用每日脚本来执行以下操作,以解决 ES 服务器上的更新出现问题的任何情况(我还没有高可用性设置,即便如此,它仍然可能是在 DB 和 ES 之间复制数据的情况下的良好做法)。在将这个脚本放在一起之前,我想我会检查我是否以正确的方式进行此操作,以及是否有任何我应该使用的库或技术。
该脚本将简单地从数据库中检索所有 ID,并从 ElasticSearch 中检索所有 ID,其中created_at < current_time
(当前时间的快照,因为它是脚本运行时的移动目标)。然后它将根据这些 ID 集之间的差异添加和删除 Elastic 搜索。
这听起来像一个合理的方法吗?