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

版本: 6.8-8.9

简要来说,当在 Elasticsearch 中使用滚动 API 时将 “track_total_hits” 参数设置为 false 时,就会出现此错误。滚动 API 不支持此参数,因为它需要跟踪所有命中以获得准确的结果。要解决此问题,您可以从查询中删除 “track_total_hits” 参数,或者将其设置为 true。如果不需要使用滚动 API,可以考虑使用搜索 API,它支持禁用 “track_total_hits”。

日志上下文 #

日志 “disabling [track_total_hits] is not allowed in a scroll context” 的类名是 SearchService.java。我们从 Elasticsearch 源代码中提取了以下内容,供那些寻求深入了解上下文的人参考:

}
 context.trackScores(source.trackScores());
 if (source.trackTotalHitsUpTo() != null
 && source.trackTotalHitsUpTo() != SearchContext.TRACK_TOTAL_HITS_ACCURATE
 && context.scrollContext() != null) {
 throw new SearchException(shardTarget, "disabling [track_total_hits] is not allowed in a scroll context");
 }
 if (source.trackTotalHitsUpTo() != null) {
 context.trackTotalHitsUpTo(source.trackTotalHitsUpTo());
 }
 if (source.minScore() != null) {