Aggregation name cannot support regular expression style – How to solve this Elasticsearch exception

Opster Team

August-23, Version: 7-7.15

Briefly, this error occurs when you try to use a regular expression style in an aggregation that doesn’t support it. Elasticsearch supports regular expressions in some areas, but not all. The error indicates that the specific aggregation you’re trying to use doesn’t support the regular expression style you’re using. To resolve this issue, you can either change the aggregation type to one that supports regular expressions, or modify your query to not use regular expressions. Alternatively, you can use a script to process the regular expression before the aggregation.

This guide will help you check for common problems that cause the log ” Aggregation [” + name + “] cannot support regular expression style ” to appear. To understand the issues related to this log, read the explanation below about the following Elasticsearch concepts: aggregations, search.

Log Context

Log “Aggregation [” + name + “] cannot support regular expression style ” class name is TermsAggregatorFactory.java. We extracted the following from Elasticsearch source code for those seeking an in-depth context :

 subAggCollectMode = pickSubAggColectMode(factories; bucketCountThresholds.getShardSize(); maxOrd);
 }  if ((includeExclude != null) && (includeExclude.isRegexBased()) && valuesSourceConfig.format() != DocValueFormat.RAW) {
 // TODO this exception message is not really accurate for the string case.  It's really disallowing regex + formatter
 throw new AggregationExecutionException("Aggregation [" + name + "] cannot support regular expression style "
 + "include/exclude settings as they can only be applied to string fields. Use an array of values for "
 + "include/exclude clauses");
 }  // TODO: [Zach] we might want refactor and remove ExecutionMode#create(); moving that logic outside the enum

 

How helpful was this guide?

We are sorry that this post was not useful for you!

Let us improve this post!

Tell us how we can improve this post?