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

版本: 6.8-7.15

简要来说,当Elasticsearch期望地理空间数据的坐标数组时,只收到单个坐标,就会发生此错误。这通常发生在索引地理空间数据时。要解决此问题,请确保你的地理空间数据正确格式化为坐标数组。如果你正在使用映射,请验证它是否为地理空间数据正确设置。此外,请检查你的数据源,确保它提供了正确的地理空间数据格式。

日志上下文 #


日志"single coordinate found when expecting an array of"的类名是 GeoShapeType.java。 我们从Elasticsearch源代码中提取了以下内容,供那些寻求深入上下文的人参考:

@Override
 CoordinateNode validate(CoordinateNode coordinates; boolean coerce) {
 if (coordinates.children == null || coordinates.children.isEmpty()) {
 if (coordinates.coordinate != null) {
 throw new ElasticsearchParseException("single coordinate found when expecting an array of " +
 "coordinates. change type to point or change data to an array of >0 coordinates");
 }
 throw new ElasticsearchParseException("no data provided for multipoint object when expecting " +
 ">0 points (e.g.; [[lat; lng]] or [[lat; lng]; ...])");
 } else {