--- title: "无效的 LinearRing 发现坐标未闭合 - 如何解决此 Elasticsearch 异常" date: 2026-01-17 lastmod: 2026-01-17 description: "当为 Elasticsearch 中的 geo_shape 提供的坐标未形成闭合环时会出现此错误。解决方法包括确保坐标的起点和终点相同,以及坐标至少包含四个点。" tags: ["Elasticsearch", "地理形状", "线性环", "坐标错误", "异常处理"] summary: " 版本: 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 " --- > **版本:** 6.8-8.9 简要来说,当为 Elasticsearch 中的 geo_shape 提供的坐标未形成闭合环时会出现此错误,这是 LinearRing 的必要条件。要解决此问题,请确保坐标的第一个点和最后一个点相同,从而形成闭合的形状。此外,请检查您的坐标至少有四个点,因为有效的 LinearRing 必须至少包含四个坐标。 日志上下文 ----------- 日志"invalid LinearRing found (coordinates are not closed)"类名是 [GeoShapeType.java。](https://www.geeksforgeeks.org/java-lang-class-class-java-set-1/) 我们从 Elasticsearch 源代码中提取了以下内容,供那些寻求深入背景的人参考: ```java 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 ```