版本: 6.8-8.9
简而言之,当在 Elasticsearch 的地理位置查询中提供的纬度值不是数字时,会发生此错误。Elasticsearch 要求纬度和经度值对于地理空间数据必须是数值类型。要解决此问题,请确保纬度值是数字类型。如果该值来源于文档,请检查文档是否存在错误。如果该值是手动输入的,请确保它是有效的数字。此外,请检查索引的映射以确保该字段正确映射为 geo_point 类型。
日志上下文 #
日志 “latitude must be a number” 的类名是 GeoPoint.java. 我们从 Elasticsearch 源代码中提取了以下内容,供那些寻求深入上下文的人参考:
final double lat;
final double lon;
try {
lat = Double.parseDouble(vals[0].trim());
} catch (NumberFormatException ex) {
throw new ElasticsearchParseException("latitude must be a number");
}
try {
lon = Double.parseDouble(vals[1].trim());
} catch (NumberFormatException ex) {
throw new ElasticsearchParseException("longitude must be a number");





