Briefly, this error occurs when you’re trying to index a document with a geo_point field in Elasticsearch, but the GeoJSON object’s ‘type’ is not ‘Point’. Elasticsearch only supports ‘Point’ type for geo_point fields. To resolve this issue, ensure that the ‘type’ of your GeoJSON object is ‘Point’. If you’re using other types like ‘Polygon’ or ‘LineString’, consider using the geo_shape datatype instead. Also, check your data source to ensure it’s providing the correct GeoJSON format.
This guide will help you check for common problems that cause the log ” GeoJSON ‘type’ for geo_point can only be ‘Point’ ” to appear. To understand the issues related to this log, read the explanation below about the following Elasticsearch concepts: .
Log Context
Log “GeoJSON ‘type’ for geo_point can only be ‘Point'” class name is GeoUtils.java. We extracted the following from Elasticsearch source code for those seeking an in-depth context :
if (geohash != null) { return point.parseGeoHash(geohash; effectivePoint); } if (coordinates != null) { if (geojsonType == null || geojsonType.toLowerCase(Locale.ROOT).equals("point") == false) { throw new ElasticsearchParseException("GeoJSON 'type' for geo_point can only be 'Point'"); } if (coordinates.size() < 2) { throw new ElasticsearchParseException("GeoJSON 'coordinates' must contain at least two values"); } if (coordinates.size() == 3) {