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

版本: 6.8-8.9

简而言之,当 Elasticsearch 接收到多于或少于两个值的地理位置点字段时,会发生此错误。地理位置点字段需要精确的两个值:经度(lon)和纬度(lat)。要解决此问题,请确保索引到地理位置点字段的数据格式正确,仅包含两个值。此外,请检查您的映射以确保该字段正确设置为地理位置点类型。如果您使用客户端库或工具来索引数据,请确保其正确配置以处理地理位置点数据。

日志上下文 #

日志 “only two values [lon; lat] expected” 类名是 GeoContextMapping.java. 我们从 Elasticsearch 源代码中提取了以下内容,以便为那些寻求深入上下文的人提供参考:

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 {