gpt4 book ai didi

elasticsearch - 使用翻转 API 时更新 ElasticSearch (ES) 中的现有文档

转载 作者:行者123 更新时间:2023-11-29 02:56:05 24 4
gpt4 key购买 nike

我有一个数据源,它将创建大量我计划存储在 ElasticSearch 中的条目。源在 ElasticSearch 中为同一个文档创建两个条目:

  • 'init' 部分记录了 ES 中随 secret 钥下的初始化时间和其他详细信息
  • “完成”部分包含主要数据,并根据 init 的随 secret 钥在 ES 中更新最初创建的文档(合并)。

我需要在 ElasticSearch 中使用基于时间的索引,并使用一个指向实际索引的别名,使用 rollover index .对于更新,我将使用 update API合并 init 和 finish。

问题:如果带有随机键的初始文档不在当前索引中(但在一个已经滚动的旧索引中)将使用它的键更新它执行成功?如果不是,执行更新的最佳做法是什么?

最佳答案

安静下来后,我开始测试它。

简答:索引在别名下滚动后,使用别名的更新操作仅引用新索引,因此它将在新索引中创建文档,从而产生两个单独的文档。

解决它的一种方法是在最后 2 个(或更多,如果需要的话)索引中执行搜索,并找出要用于更新的非别名索引名称。

我更喜欢的其他解决方案是避免使用翻转,而是从我们文档的必需日期字段计算索引名称,并从应用程序创建新索引,使用模板定义映射。这样,事件溯源和按顺序重放文档将产生相同的索引。

关于elasticsearch - 使用翻转 API 时更新 ElasticSearch (ES) 中的现有文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41830404/

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