Only two values lon lat expected – How to solve this Elasticsearch exception

Opster Team

August-23, Version: 6.8-8.9

Briefly, this error occurs when Elasticsearch receives more or less than two values for a geo-point field. Geo-point fields require exactly two values: longitude (lon) and latitude (lat). To resolve this issue, ensure that the data being indexed into the geo-point field is correctly formatted with only two values. Also, check your mapping to ensure the field is correctly set as a geo-point type. If you’re using a client library or a tool to index data, ensure it’s correctly configured to handle geo-point data.

This guide will help you check for common problems that cause the log ” only two values [lon; lat] expected ” to appear. To understand the issues related to this log, read the explanation below about the following Elasticsearch concepts: search.

Log Context

Log “only two values [lon; lat] expected” class name is GeoContextMapping.java. We extracted the following from Elasticsearch source code for those seeking an in-depth context :

 if (parser.nextToken() == Token.VALUE_NUMBER) {
 double lat = parser.doubleValue();
 if (parser.nextToken() == Token.END_ARRAY) {
 contexts.add(stringEncode(lon; lat; precision));
 } else {
 throw new ElasticsearchParseException("only two values [lon; lat] expected");
 }
 } else {
 throw new ElasticsearchParseException("latitude must be a numeric value");
 }
 } else {

 

 [ratemypost]