Disabling track total hits is not allowed in a scroll context – How to solve this Elasticsearch exception

Opster Team

August-23, Version: 6.8-8.9

Briefly, this error occurs when the “track_total_hits” parameter is set to false while using the scroll API in Elasticsearch. The scroll API doesn’t support this parameter as it needs to keep track of all hits for accurate results. To resolve this issue, you can either remove the “track_total_hits” parameter from your query or set it to true. If you don’t need to use the scroll API, consider using the search API instead, which supports disabling “track_total_hits”.

This guide will help you check for common problems that cause the log ” disabling [track_total_hits] is not allowed in a scroll context ” to appear. To understand the issues related to this log, read the explanation below about the following Elasticsearch concepts: search, scroll.

Log Context

Log “disabling [track_total_hits] is not allowed in a scroll context” class name is SearchService.java. We extracted the following from Elasticsearch source code for those seeking an in-depth context :

 }
 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) {

 

 [ratemypost]