版本: 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();
}





