Max children is only supported on top level of nested sort – How to solve this Elasticsearch exception

Opster Team

August-23, Version: 7.16-8.9

Before you dig into reading this guide, have you tried asking OpsGPT what this log means? You’ll receive a customized analysis of your log.

Try OpsGPT now for step-by-step guidance and tailored insights into your Elasticsearch operation.

Briefly, this error occurs when the ‘max_children’ parameter is used in a non-top level of a nested sort in Elasticsearch. The ‘max_children’ parameter is only allowed at the top level of a nested sort. To resolve this issue, you should ensure that ‘max_children’ is only used at the top level of your nested sort. If it’s used in a deeper level, you should refactor your query to comply with this requirement. Alternatively, consider restructuring your data if it’s feasible and would make your queries simpler.

For a complete solution to your to your search operation, try for free AutoOps for Elasticsearch & OpenSearch . With AutoOps and Opster’s proactive support, you don’t have to worry about your search operation – we take charge of it. Get improved performance & stability with less hardware.

This guide will help you check for common problems that cause the log ” max_children is only supported on top level of nested sort ” to appear. To understand the issues related to this log, read the explanation below about the following Elasticsearch concepts: sort, search.

Log Context

Log “max_children is only supported on top level of nested sort” class name is FieldSortBuilder.java. We extracted the following from Elasticsearch source code for those seeking an in-depth context :

 * Throws an exception if max children is not located at top level nested sort.
 */
 static void validateMaxChildrenExistOnlyInTopLevelNestedSort(SearchExecutionContext context; NestedSortBuilder nestedSort) {
 for (NestedSortBuilder child = nestedSort.getNestedSort(); child != null; child = child.getNestedSort()) {
 if (child.getMaxChildren() != Integer.MAX_VALUE) {
 throw new QueryShardException(context; "max_children is only supported on top level of nested sort");
 }
 }
 }  /**

 

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?