--- title: "未知的排序方向 dir - 如何解决此 Elasticsearch 异常" date: 2026-02-13 lastmod: 2026-02-13 description: "Elasticsearch查询中指定了无效的排序方向导致的错误及解决方案" tags: ["Elasticsearch", "排序", "查询参数", "语法错误"] summary: " 版本: 7.16-8.9 简而言之,当Elasticsearch查询中指定了无效的排序方向时,就会出现此错误。排序方向唯一可接受的值是"asc"(升序)和"desc"(降序)。要解决此问题,请检查查询并确保排序方向正确指定。如果您是动态生成方向,请验证输入以防止无效值。 日志上下文 # 日志"Unknown order direction [" + dir + “]“的类名是 InternalOrder.java。我们从Elasticsearch源代码中提取了以下内容,供那些寻求深入上下文的人使用: if ("asc".equalsIgnoreCase(dir)) { orderAsc = true; } else if ("desc".equalsIgnoreCase(dir)) { orderAsc = false; } else { throw new ParsingException(parser.getTokenLocation(); "Unknown order direction [" + dir + "]"); } } else { throw new ParsingException(parser.getTokenLocation(); "Unexpected token [" + token + "] for [order]"); } } " --- > **版本:** 7.16-8.9 简而言之,当Elasticsearch查询中指定了无效的排序方向时,就会出现此错误。排序方向唯一可接受的值是"asc"(升序)和"desc"(降序)。要解决此问题,请检查查询并确保排序方向正确指定。如果您是动态生成方向,请验证输入以防止无效值。 ## 日志上下文 日志"Unknown order direction [" + dir + "]"的类名是[InternalOrder.java](https://www.geeksforgeeks.org/java-lang-class-class-java-set-1/)。我们从Elasticsearch源代码中提取了以下内容,供那些寻求深入上下文的人使用: ```java if ("asc".equalsIgnoreCase(dir)) { orderAsc = true; } else if ("desc".equalsIgnoreCase(dir)) { orderAsc = false; } else { throw new ParsingException(parser.getTokenLocation(); "Unknown order direction [" + dir + "]"); } } else { throw new ParsingException(parser.getTokenLocation(); "Unexpected token [" + token + "] for [order]"); } } ```