--- title: "期望多点对象时未提供数据 – 如何解决此 Elasticsearch 异常" date: 2026-02-10 lastmod: 2026-02-10 description: "当 Elasticsearch 期望多点对象的数据但未提供时出现的错误。通常发生在尝试索引带有 geo_shape 字段的文档时,多点对象的坐标缺失或为空。" tags: ["Elasticsearch", "异常处理", "地理形状", "多点对象", "索引错误"] summary: "版本: 6.8-7.15 简而言之,当 Elasticsearch 期望多点对象的数据但未提供时,就会出现此错误。这通常发生在你尝试索引带有 geo_shape 字段的文档时,但多点对象的坐标缺失或为空。要解决此问题,请确保你尝试索引的文档包含多点对象的有效坐标。或者,你可以在映射中将 ignore_malformed 选项设置为 true,这将允许即使包含格式错误的 geo_shapes 的文档也能被索引。 日志上下文 # 日志 “no data provided for multipoint object when expecting” 的类名是 GeoShapeType.java。 我们从 Elasticsearch 源代码中提取了以下内容,供那些寻求深入了解上下文的人参考: 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." --- > **版本:** 6.8-7.15 简而言之,当 Elasticsearch 期望多点对象的数据但未提供时,就会出现此错误。这通常发生在你尝试索引带有 geo_shape 字段的文档时,但多点对象的坐标缺失或为空。要解决此问题,请确保你尝试索引的文档包含多点对象的有效坐标。或者,你可以在映射中将 ignore_malformed 选项设置为 true,这将允许即使包含格式错误的 geo_shapes 的文档也能被索引。 日志上下文 ----------- 日志 "no data provided for multipoint object when expecting" 的类名是 [GeoShapeType.java。](https://www.geeksforgeeks.org/java-lang-class-class-java-set-1/) 我们从 Elasticsearch 源代码中提取了以下内容,供那些寻求深入了解上下文的人参考: ```java 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 { for (CoordinateNode point : coordinates.children) { POINT.validate(point, coerce); } } ```