版本: 6.8-7.15
简要来说,当 Elasticsearch 在查询中期望特定语法但未找到时,会发生此错误。它期望找到一个 “+” 号或 “EMPTY” 值。这通常由于查询语法不正确或不完整导致。要解决此问题,您可以:1) 检查查询语法以确保其正确且完整。2) 检查查询中是否有缺失或多余的字符。3) 确保 “+” 号或 “EMPTY” 值在查询中正确放置。4) 在部署到生产环境之前,在开发环境中测试您的查询。
日志上下文 #
日志 “expected ” + EMPTY + “ or ” 的类名是 GeoWKTParser.java。我们从 Elasticsearch 源代码中提取了以下内容,供那些需要深入理解上下文的人参考:
private static String nextEmptyOrOpen(StreamTokenizer stream) throws IOException, ElasticsearchParseException {
final String next = nextWord(stream);
if (next.equals(EMPTY) || next.equals(LPAREN)) {
return next;
}
throw new ElasticsearchParseException("expected " + EMPTY + " or " + LPAREN
+ " but found: " + tokenString(stream), stream.lineno());
}
private static String nextCloser(StreamTokenizer stream) throws IOException, ElasticsearchParseException {
if (nextWord(stream).equals(RPAREN)) {





