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

版本: 6.8-8.9

简而言之,当 Elasticsearch 尝试使用 geo_shape 数据类型创建多边形时,如果提供的点数少于 4 个,就会发生此错误。多边形至少需要 4 个点才能形成闭合形状。要解决此问题,请确保在定义多边形时至少提供 4 个点。如果使用点数组,请检查它是否包含至少 4 个点。如果使用脚本或应用程序生成这些点,请验证其是否正常运行并生成所需数量的点。

日志上下文 #

日志 “invalid number of points in LinearRing (found [{}] – must be >= 4)” 的类名是 GeoWKTParser.java。 我们从 Elasticsearch 源代码中提取了以下内容,供那些寻求深入上下文的人参考:

throw new ElasticsearchParseException("invalid LinearRing found (coordinates are not closed)");
 }
 }
 }
 if (coordinates.size() < 4) {
 throw new ElasticsearchParseException("invalid number of points in LinearRing (found [{}] - must be >= 4)"; coordinates.size());
 }
 return new LineStringBuilder(coordinates);
 }  private static MultiLineStringBuilder parseMultiLine(StreamTokenizer stream; final boolean ignoreZValue; final boolean coerce)