Command does not support complex json tokens – How to solve this Elasticsearch exception

Opster Team

August-23, Version: 6.8-8.9

Briefly, this error occurs when a command in Elasticsearch is trying to process complex JSON tokens, which it doesn’t support. This usually happens when you’re trying to pass a complex JSON object to a command that only accepts simple key-value pairs. To resolve this issue, you can either simplify your JSON object into key-value pairs or use a command that supports complex JSON tokens. Alternatively, you can also try to serialize your complex JSON object into a string before passing it to the command.

This guide will help you check for common problems that cause the log ” [{}] command does not support complex json tokens [{}] ” to appear. To understand the issues related to this log, read the explanation below about the following Elasticsearch concepts: routing, allocation, cluster.

Log Context

Log “[{}] command does not support complex json tokens [{}]” class name is MoveAllocationCommand.java. We extracted the following from Elasticsearch source code for those seeking an in-depth context :

 toNode = parser.text();
 } else {
 throw new ElasticsearchParseException("[{}] command does not support field [{}]"; NAME; currentFieldName);
 }
 } else {
 throw new ElasticsearchParseException("[{}] command does not support complex json tokens [{}]"; NAME; token);
 }
 }
 if (index == null) {
 throw new ElasticsearchParseException("[{}] command missing the index parameter"; NAME);
 }

 

 [ratemypost]

Opster
Privacy Overview

This website uses cookies so that we can provide you with the best user experience possible. Cookie information is stored in your browser and performs functions such as recognising you when you return to our website and helping our team to understand which sections of the website you find most interesting and useful.