gpt4 book ai didi

elasticsearch - 扫描/滚动 Elasticsearch 索引时是否有可预测的顺序?

转载 作者:行者123 更新时间:2023-11-29 02:52:15 33 4
gpt4 key购买 nike

扫描 ElasticSearch 索引时,无法根据 documentation 应用任何排序.但是对于这个过程中结果的顺序有任何定义吗?如果是,是否可以预测?

背景信息:

我需要定期对 5M 文档进行操作,每批 1.000 个文档大约需要 1 分钟来处理。由于我无法确保每次运行该过程都会完成,所以我很想让它在上次中断的地方继续工作,例如如果滚动结果按 ID 排序(我知道,它不是),我会跟踪最后处理的 ID在我的代码中,在下一次运行时不再使用 ID <= lastProcessedId 处理任何文档, 以确保每个文档都得到定期处理。

顺便说一句:我所说的“处理文档”并不是指将额外的信息写回索引,而是更新我的数据库中的一些其他内容。将时间戳写入索引文档对我的情况没有帮助,因为进程中断的原因之一可能是索引被新索引替换(从头开始重建)。将处理过的时间戳写入数据库对我来说也不是一个理想的选择,因为迭代性能是我首先使用索引滚动的原因....

最佳答案

不,排序顺序不可预测。我打算建议使用时间戳,但后来我读了你问题的其余部分:)

实际上,使扫描搜索“可恢复”的唯一方法是将您的文档在某些字段(例如时间戳或 ID)上分成多个部分,并使用范围查询一次只滚动一个部分。

关于elasticsearch - 扫描/滚动 Elasticsearch 索引时是否有可预测的顺序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15416786/

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