版本: 6.8-8.9
简要来说,当为 Elasticsearch 中的 geo_shape 提供的坐标未形成闭合环时会出现此错误,这是 LinearRing 的必要条件。要解决此问题,请确保坐标的第一个点和最后一个点相同,从而形成闭合的形状。此外,请检查您的坐标至少有四个点,因为有效的 LinearRing 必须至少包含四个坐标。
日志上下文 #
日志"invalid LinearRing found (coordinates are not closed)“类名是 GeoShapeType.java。 我们从 Elasticsearch 源代码中提取了以下内容,供那些寻求深入背景的人参考:
coordinates.children.get(coordinates.children.size() - 1).coordinate
) == false) {
if (coerce) {
coordinates.children.add(coordinates.children.get(0));
} else {
throw new ElasticsearchParseException("invalid LinearRing found (coordinates are not closed)");
}
}
} @Override





