版本: 6.8-8.1
简而言之,当 Elasticsearch 尝试处理地理空间数据时,如果提供的字段既不是纬度/经度格式也不是 geohash 格式,就会出现此错误。Elasticsearch 要求地理空间数据必须是其中一种格式,以便正确地对其进行索引和搜索。要解决此问题,您可以在索引之前将地理空间数据转换为 lat/lon 或 geohash 格式,或者在索引过程中使用脚本或摄取处理器来转换数据。
日志上下文 #
日志"field must be either lat/lon or geohash"的类名是 GeoUtils.java. 我们从 Elasticsearch 源代码中提取了以下内容,供那些寻求深入上下文的人参考:
}
}
}
if (geohash != null) {
if (Double.isNaN(lat) == false || Double.isNaN(lon) == false) {
throw new ElasticsearchParseException("field must be either lat/lon or geohash");
} else {
return point.parseGeoHash(geohash; effectivePoint);
}
} else if (numberFormatException != null) {
throw new ElasticsearchParseException(





