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

版本: 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