--- title: "管道不支持 - 如何解决此 Elasticsearch 异常" date: 2026-02-02 lastmod: 2026-02-02 description: "在 Elasticsearch 中尝试使用管道字符'|'时会报错,因为该字符不被支持。本文介绍如何解决此异常。" tags: ["异常处理", "查询语法", "管道操作符"] summary: "版本: 7.13-8.9 简而言之,当您尝试在 Elasticsearch 中使用管道字符"|“时会出现此错误,因为该字符不被支持。Elasticsearch 使用基于 JSON 的 REST API 进行通信,而管道字符在 JSON 中不是有效字符。要解决此问题,您可以从查询中删除管道字符,或将其替换为支持的字符或运算符。如果您尝试执行多个操作,请考虑将其分解为单独的查询或使用批量 API。 日志上下文 # 日志"Pipe [{}] is not supported"的类名是 LogicalPlanBuilder.java. 我们从 Elasticsearch 源代码中提取了以下内容,为那些寻求深入上下文的人提供参考: case TAIL_PIPE -> { Expression tailLimit = pipeIntArgument(source(ctx); name; ctx.booleanExpression()); // negate the limit return new Tail(source(ctx); tailLimit; plan); } default -> throw new ParsingException(source(ctx); "Pipe [{}] is not supported"; name); } } private Expression onlyOnePipeArgument(Source source; String pipeName; Listexps) { int size = CollectionUtils." --- > **版本:** 7.13-8.9 简而言之,当您尝试在 Elasticsearch 中使用管道字符"|"时会出现此错误,因为该字符不被支持。Elasticsearch 使用基于 JSON 的 REST API 进行通信,而管道字符在 JSON 中不是有效字符。要解决此问题,您可以从查询中删除管道字符,或将其替换为支持的字符或运算符。如果您尝试执行多个操作,请考虑将其分解为单独的查询或使用批量 API。 日志上下文 ----------- 日志"Pipe [{}] is not supported"的类名是 [LogicalPlanBuilder.java.](https://www.geeksforgeeks.org/java-lang-class-class-java-set-1/) 我们从 Elasticsearch 源代码中提取了以下内容,为那些寻求深入上下文的人提供参考: ```java case TAIL_PIPE -> { Expression tailLimit = pipeIntArgument(source(ctx); name; ctx.booleanExpression()); // negate the limit return new Tail(source(ctx); tailLimit; plan); } default -> throw new ParsingException(source(ctx); "Pipe [{}] is not supported"; name); } } private Expression onlyOnePipeArgument(Source source; String pipeName; Listexps) { int size = CollectionUtils.isEmpty(exps) ? 0 : exps.size(); ```