我们使用的是es版本6.4,我们想升级到7.4。在测试使用scroll进行分页搜索的升级时,我们面临以下问题:
试图创建太多的滚动上下文。必须小于或等于[500]。可以通过更改[search.max\u open\u scroll\u context]设置来设置此限制。
看起来我们只能打开500个滚动上下文。
启动滚动时,会创建滚动上下文(context a),滚动id指向上下文(context a)。检索下一批时,将创建一个新的滚动上下文(context b)。我收到了相同的滚动id(现在它指向上下文b)。旧的滚动上下文(context a)会发生什么情况。会马上关门吗?或者只在滚动时间到期后发生?如何清除旧的滚动上下文?与旧上下文(上下文a)关联的滚动id现在指向新上下文(上下文b)。
我们如何解决这个问题?
我们的选择:
我们可以在设置中增加滚动上下文。如果我们将滚动上下文增加到一个更高的数字(例如:10000),有什么问题吗
使用滚动条后,请清除滚动条上下文。我们观察到返回相同的scroll id来检索后续批。如何清除为旧批创建的滚动上下文?
1条答案
按热度按时间ct3nt3jp1#
使用search after而不是scroll api可能是一个更好的选择,因为es不再推荐scroll api用于深度分页(es7.x)。您可以在elasticsearch文档页面上找到更多信息:https://www.elastic.co/guide/en/elasticsearch/reference/7.x/scroll-api.html