版本: 6.8-7.15
简而言之,当为 Elasticsearch 中的地理点字段提供了无效的经度值时,就会发生此错误。经度值应在 -180 到 +180 度之间。如果值超出此范围,Elasticsearch 将抛出此错误。要解决此问题,请确保所有经度值都在可接受的范围内。如果您使用脚本或应用程序生成这些值,请检查逻辑以防止无效值。此外,在索引之前验证您的数据以避免此类错误。
日志上下文 #
日志 “illegal longitude value [{}] for [{}]” 的类名是 GeoPolygonQueryBuilder.java.,我们从 Elasticsearch 源代码中提取了以下内容,供那些寻求深入了解的人参考:
if (GeoUtils.isValidLatitude(point.lat()) == false) {
throw new QueryShardException(context; "illegal latitude value [{}] for [{}]"; point.lat();
GeoPolygonQueryBuilder.NAME);
}
if (GeoUtils.isValidLongitude(point.lon()) == false) {
throw new QueryShardException(context; "illegal longitude value [{}] for [{}]"; point.lon();
GeoPolygonQueryBuilder.NAME);
}
}
}





