Array elements in include/exclude clauses should be string values – How to solve this Elasticsearch error

Opster Team

July-20, Version: 1.7-8.0

Before you begin reading this guide, we recommend you try running the Elasticsearch Error Check-Up which analyzes 2 JSON files to detect many configuration errors.

Briefly, this error message indicates that the elements in the include/exclude clauses are not string values, which is a requirement for the include/exclude clauses. In Elasticsearch, include/exclude clauses are used to specify which values should be included or excluded from an aggregation. The elements in these clauses must be string values in order to be properly processed. If the elements are not string values, this error will be thrown.

To easily locate the root cause and resolve this issue try AutoOps for Elasticsearch & OpenSearch. It diagnoses problems by analyzing hundreds of metrics collected by a lightweight agent and offers guidance for resolving them.

This guide will help you check for common problems that cause the log ” Array elements in include/exclude clauses should be string values ” to appear. To understand the issues related to this log, read the explanation below about the following Elasticsearch concepts: search and aggregations.

Log Context

Log “Array elements in include/exclude clauses should be string values”classname  is We extracted the following from Elasticsearch source code for those seeking an in-depth context :

if (parser.currentToken() != XContentParser.Token.START_ARRAY) {
 throw new ElasticsearchParseException("Missing start of array in include/exclude clause");
 while (parser.nextToken() != XContentParser.Token.END_ARRAY) {
 if (!parser.currentToken().isValue()) {
 throw new ElasticsearchParseException("Array elements in include/exclude clauses should be string values");
 set.add(new BytesRef(parser.text()));
 return set;


Watch product tour

Try AutoOps to find & fix Elasticsearch problems

Analyze Your Cluster
Skip to content