我们正在使用 ES 版本 6.4,我们想升级到 7.4。在测试升级以使用 Scroll 进行分页搜索时,我们面临以下问题:
试图创建太多滚动上下文。必须小于或等于 [500]。可以通过更改 [search.max_open_scroll_context] 设置来设置此限制。
看起来我们只能打开 500 个滚动上下文。
当我们启动滚动时,会创建一个滚动上下文(上下文 A),并且滚动 id 指向上下文(上下文 A)。当我检索下一批时,会创建一个新的滚动上下文(上下文 B)。我收到了相同的滚动 ID(现在它指向上下文 B)。旧滚动上下文(上下文 A)会发生什么情况。它会立即关闭并 GC'd 吗?还是只有在滚动时间到期后才会发生?如何清除旧的滚动上下文?与旧上下文(上下文 A)关联的滚动 ID 现在指向新上下文(上下文 B)。
我们如何解决这个问题?
我们的选择:
- 我们可以在设置中增加滚动上下文。如果我们将滚动上下文增加到更高的数量(例如:10000),是否有任何问题
- 使用后清除滚动上下文。我们观察到返回相同的滚动 ID 以检索后续批次。我们如何清除为旧批次创建的滚动上下文?