目前,我必须更新在 elasticsearch 中索引的超过 100 万个文档中的一个字段。这是一项复杂的任务,因为该字段包含从 XML 文件生成的元数据,用于评估 xpath 表达式。我们必须遍历索引中的所有文档并更新该字段。因此,为了避免系统过度杀伤,我们决定使用 Ironworker 平台。
我已经阅读了几篇关于如何在 elasticsearch 中更新数百万个文档的文章,例如这篇文章,但是鉴于我们将使用 Ironworkers,因此存在一些限制,例如一项任务只能运行 60 分钟。
问题:
考虑到 60 分钟的限制,我如何遍历所有文档并更新其字段。
我想打开并滚动并将scroll_id传递给下一个工作人员,但我不知道执行下一个任务需要多长时间,所以滚动可能会过期,我将不得不重新开始。