版本: 6.8-8.9
简要来说,当您尝试在Elasticsearch的滚动上下文中使用collapse(字段折叠)功能时,会出现此错误。collapse功能用于根据某个字段折叠搜索结果,而scroll(滚动)用于检索大量结果。Elasticsearch不支持同时使用这两个功能。要解决此问题,您可以从查询中移除collapse功能,或者停止使用scroll并对结果进行分页。另外,您也可以在检索结果后在应用程序代码中执行折叠操作。
日志上下文 #
日志"cannot use collapse in a scroll context"(无法在滚动上下文中使用collapse)的类名是
SearchService.java。 我们从Elasticsearch源代码中提取了以下内容,供那些寻求深入上下文的人参考:
context.storedFieldsContext(source.storedFields());
} if (source.collapse() != null) {
if (context.scrollContext() != null) {
throw new SearchException(shardTarget; "cannot use `collapse` in a scroll context");
}
if (context.rescore() != null && context.rescore().isEmpty() == false) {
throw new SearchException(shardTarget; "cannot use `collapse` in conjunction with `rescore`");
}
final CollapseContext collapseContext = source.collapse().build(searchExecutionContext);





