版本: 6.8-8.9
简而言之,当 Elasticsearch 在特定字段中期望数值类型但遇到不同的数据类型(如字符串或布尔值)时,会出现此错误。这种不匹配可能在索引或查询数据期间发生。要解决此问题,请确保字段的数据类型与期望的数值类型匹配。您还可以使用 “ignore_malformed” 选项在索引期间忽略此类错误。此外,考虑在索引前使用脚本将非数值值转换为数值。
日志上下文 #
日志 “expected number but found:” 的类名是 GeoWKTParser.java。我们从 Elasticsearch 源代码中提取了以下内容,供那些寻求深入上下文的人参考:
} catch (NumberFormatException e) {
throw new ElasticsearchParseException("invalid number found: " + stream.sval; stream.lineno());
}
}
}
throw new ElasticsearchParseException("expected number but found: " + tokenString(stream); stream.lineno());
} private static String tokenString(StreamTokenizer stream) {
return switch (stream.ttype) {
case StreamTokenizer.TT_WORD -> stream.sval;





