gpt4 book ai didi

elasticsearch - 使用最近更新的时间戳进行 Elasticsearch 版本控制?

转载 作者:行者123 更新时间:2023-12-03 00:18:23 26 4
gpt4 key购买 nike

我们的数据模型没有单独的版本字段。我们对数据模型进行版本控制的方法之一是通过id和上次更新的时间戳,当接收到具有相同id但最新的上次更新时间戳的新记录时,版本将递增。

但是,在 flex 搜索中,无法导出_id字段的值。多个字段不能应用于_id字段。

我们的系统是被动的并且是消息驱动的,因此不能依赖于我们接收消息的顺序。

无论如何,我们可以用高性能的方式解决版本控制问题吗?

最佳答案

elasticsearch中的_version字段不适用于版本控制。这是为了确保您正在处理预期的文档(例如,您阅读了一个文档并决定删除它,不建议将已读取文档的版本号添加到delete命令中)。

您可以将_id字段设置为“[your_id] _ [timestamp]”,并添加两个其他字段“my_id”和“timestamp”。

如何将_id设置为“[您的ID] _ [时间戳]”?如果使用logstash,则可以使用变异过滤器:

mutate { add_field => ["id", "%{your_id}", "_", "%{timestamp}"] }

应该管用。如果不使用logstash,则必须创建类似的id字段。

关于elasticsearch - 使用最近更新的时间戳进行 Elasticsearch 版本控制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33855392/

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