Time series aggregations cannot be used inside global aggregation – How to solve this Elasticsearch exception

Opster Team

August-23, Version: 8.1-8.9

Briefly, this error occurs when you attempt to use time series aggregations inside a global aggregation in Elasticsearch. Global aggregations operate on all data, not just the data specified by the query. Time series aggregations, however, require a specific time range. To resolve this, you can either remove the global aggregation or move the time series aggregation outside of the global aggregation. Alternatively, you could specify a time range for the global aggregation that encompasses the time series aggregation.

This guide will help you check for common problems that cause the log ” Time series aggregations cannot be used inside global aggregation. ” to appear. To understand the issues related to this log, read the explanation below about the following Elasticsearch concepts: search, aggregations.

Log Context

Log “Time series aggregations cannot be used inside global aggregation.” class name is GlobalAggregatorFactory.java. We extracted the following from Elasticsearch source code for those seeking an in-depth context :

 AggregatorFactories.Builder subFactories;
 Map metadata
 ) throws IOException {
 super(name; context; parent; subFactories; metadata);
 if (subFactories.isInSortOrderExecutionRequired()) {
 throw new AggregationExecutionException("Time series aggregations cannot be used inside global aggregation.");
 }
 }  @Override
 public Aggregator createInternal(Aggregator parent; CardinalityUpperBound cardinality; Map metadata)

 

 [ratemypost]