Briefly, this error occurs when Elasticsearch encounters a type other than ‘Point’ for a geo_point field. Geo_point fields are used to index geographic locations and only accept ‘Point’ as a valid type. To resolve this issue, ensure that the data you’re indexing for geo_point fields is of type ‘Point’. If you’re using a different type, convert it to ‘Point’ before indexing. Also, check your mapping to ensure that the field is correctly defined as a geo_point.
This guide will help you check for common problems that cause the log ” [type] for {} 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 “[type] for {} can only be ‘Point'” class name is GenericPointParser.java. We extracted the following from Elasticsearch source code for those seeking an in-depth context :
if (geohash != null) { return fromGeohash.apply(geohash); } if (coordinates != null) { if (geojsonType == null || geojsonType.toLowerCase(Locale.ROOT).equals("point") == false) { throw new ElasticsearchParseException("[type] for {} can only be 'Point'"; mapType); } if (coordinates.size() < 2) { throw new ElasticsearchParseException("[coordinates] must contain at least two values"); } if (coordinates.size() == 3) {