📣 极限科技诚招搜索运维工程师(Elasticsearch/Easysearch)- 全职/北京 👉 : 立即申请加入

版本: 6.8-7.1

简要来说,当 Elasticsearch 在解析地理位置坐标(geo-points)时遇到 Z 值,就会发生此错误。Elasticsearch 仅支持 2D 地理位置(纬度和经度),而 Z 值代表第三个维度(海拔高度),这是不被支持的。要解决此问题,您可以采取以下几种方法:在索引之前从地理位置数据中删除 Z 值,或者使用脚本在索引过程中剥离 Z 值。此外,您还可以使用映射配置来忽略格式错误的地理位置点。

日志上下文 #

日志 “Exception parsing coordinates: found Z value [{}] but [{}]” 的类名是 GeoPoint.java。我们从 Elasticsearch 源代码中提取了以下内容,供那些寻求深入了解上下文的人参考:

return builder.latlon(lat, lon);
 }  public static double assertZValue(final boolean ignoreZValue, double zValue) {
 if (ignoreZValue == false) {
 throw new ElasticsearchParseException("Exception parsing coordinates: found Z value [{}] but [{}] "
 + "parameter is [{}]", zValue, IGNORE_Z_VALUE, ignoreZValue);
 }
 return zValue;
 }
}