Invalid token in inner hits array – How to solve this Elasticsearch exception

Opster Team

August-23, Version: 6.8-8.9

Briefly, this error occurs when there is a malformed or incorrect token in the “inner_hits” array of an Elasticsearch query. This could be due to a typo, incorrect syntax, or a non-existent field. To resolve this issue, you should first verify the syntax of your query. Make sure that all fields referenced in the “inner_hits” array exist in your index. Also, ensure that the tokens used are valid and correctly formatted. If the error persists, consider simplifying your query to isolate the problematic part.

This guide will help you check for common problems that cause the log ” Invalid token in inner_hits array ” to appear. To understand the issues related to this log, read the explanation below about the following Elasticsearch concepts: search.

Log Context

Log “Invalid token in inner_hits array” class name is CollapseBuilder.java. We extracted the following from Elasticsearch source code for those seeking an in-depth context :

 List innerHitBuilders = new ArrayList<>();
 for (currentToken = parser.nextToken(); currentToken != XContentParser.Token.END_ARRAY; currentToken = parser.nextToken()) {
 if (currentToken == XContentParser.Token.START_OBJECT) {
 innerHitBuilders.add(InnerHitBuilder.fromXContent(parser));
 } else {
 throw new ParsingException(parser.getTokenLocation(); "Invalid token in inner_hits array");
 }
 }  builder.setInnerHits(innerHitBuilders);
 }

 

 [ratemypost]