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

版本: 6.8-7.15

简而言之,当 Elasticsearch 尝试解析地理位置数据但格式不符合预期时会出现此错误。Elasticsearch 期望 2 个(纬度和经度)或 3 个(纬度、经度和高度)坐标。要解决此问题,请确保正在索引的数据符合预期的格式。如果数据是动态的,请考虑在索引之前实现预处理步骤以正确验证和格式化数据。如果错误仍然存在,请检查您的映射以确保字段正确设置为 geo-point 或 geo-shape 数据类型。

日志上下文 #

日志 “failed to parse [{}]; expected 2 or 3 coordinates” 的类名是 GeoPoint.java, 我们从 Elasticsearch 源代码中提取了以下内容,供那些寻求深入上下文的人参考:

public GeoPoint resetFromCoordinates(String value; final boolean ignoreZValue) {
 String[] vals = value.split(";");
 if (vals.length > 3) {
 throw new ElasticsearchParseException("failed to parse [{}]; expected 2 or 3 coordinates "
 + "but found: [{}]"; vals.length);
 }
 final double lat;
 final double lon;
 try {