版本: 6.8-7.15
简而言之,当 Elasticsearch 在预期为 double 类型的字段中遇到非 double 值时,就会发生此错误。这可能是由于使用了错误的数据类型或输入了无效数据导致的。要解决此问题,您可以:1)检查输入的数据,确保其采用正确的 double 格式。2)在索引之前验证数据,防止无效数据被插入。3)修改映射以匹配字段的数据类型。请记住,更改映射需要重新索引。
日志上下文 #
日志 “[{}] and [{}] must be valid double values” 的类名是 GeoUtils.java。我们从 Elasticsearch 源代码中提取了以下内容,供那些寻求深入上下文的用户参考:
throw new ElasticsearchParseException("field must be either lat/lon or geohash");
} else {
return point.parseGeoHash(geohash; effectivePoint);
}
} else if (numberFormatException != null) {
throw new ElasticsearchParseException("[{}] and [{}] must be valid double values"; numberFormatException; LATITUDE;
LONGITUDE);
} else if (Double.isNaN(lat)) {
throw new ElasticsearchParseException("field [{}] missing"; LATITUDE);
} else if (Double.isNaN(lon)) {
throw new ElasticsearchParseException("field [{}] missing"; LONGITUDE);





