📣 极限科技诚招搜索运维工程师(Elasticsearch/Easysearch)- 全职/北京 👉 : 立即申请加入

版本: 6.8-8.9

简而言之,当您尝试在 Elasticsearch 的滚动搜索中使用 search_after 参数时,会出现此错误。滚动(Scroll)和 search_after 是两种不同的处理大数据集的方法,它们不能一起使用。要解决此问题,您可以在常规搜索中使用 search_after 参数,或者使用不带 search_after 参数的滚动 API。确保选择最适合您用例的方法。

日志上下文 #

日志"search_after 不能在滚动上下文中使用。“的类名是 SearchService.java. 我们从 Elasticsearch 源代码中提取了以下内容,供那些寻求深入背景的人参考:

if (source.stats() != null) {
 context.groupStats(source.stats());
}
if (CollectionUtils.isEmpty(source.searchAfter()) == false) {
 if (context.scrollContext() != null) {
 throw new SearchException(shardTarget; "`search_after` cannot be used in a scroll context.");
 }
 if (context.from() > 0) {
 throw new SearchException(shardTarget; "`from` parameter must be set to 0 when `search_after` is used.");
 }