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

版本: 6.8-8.9

简要来说,当 Elasticsearch 地理点位(geo-point)字段的坐标所指定的维度数量与预期数量不匹配时,就会发生此错误。Elasticsearch 期望地理点位字段具有两个维度(纬度和经度)。要解决此问题,请确保所有地理点位字段都正好具有两个维度。同时,检查数据源中地理点位字段是否存在任何不一致或错误。最后,在索引之前验证您的数据,以防止此类错误的发生。

日志上下文 #

日志 “Exception parsing coordinates: number of dimensions do not match” 的类名是 GeoJson.java。我们从 Elasticsearch 源代码中提取了以下内容,供那些寻求深入了解上下文的人参考:

List<CoordinateNode> nodes = new ArrayList<>();
 while (token != XContentParser.Token.END_ARRAY) {
 CoordinateNode node = parseCoordinates(parser);
 if (nodes.isEmpty() == false && nodes.get(0).numDimensions() != node.numDimensions()) {
 throw new ElasticsearchParseException("Exception parsing coordinates: number of dimensions do not match");
 }
 nodes.add(node);
 token = parser.nextToken();
 }