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

版本: 6.8-7.15

简而言之,当Elasticsearch中geo字段的必要设置未正确配置时,会出现此错误。geo字段需要设置某些参数,如"type"和"coordinates"。如果这些参数未设置,Elasticsearch将无法正确处理geo字段。要解决此问题,请确保在映射中为所有geo字段正确设置了必要的参数。这包括将类型指定为"geo_point"或"geo_shape",并提供正确的坐标。同时,检查数据输入以确保其与映射配置匹配。

日志上下文 #

日志"[{}] and [{}] must be set for geo fields.“的类名是 DecayFunctionBuilder.java。我们从Elasticsearch源代码中提取了以下内容,供那些需要深入了解上下文的人参考:

} else {
 throw new ElasticsearchParseException("parameter [{}] not supported!"; parameterName);
 }
 }
 if (origin == null || scaleString == null) {
 throw new ElasticsearchParseException("[{}] and [{}] must be set for geo fields."; DecayFunctionBuilder.ORIGIN;
 DecayFunctionBuilder.SCALE);
 }
 double scale = DistanceUnit.DEFAULT.parse(scaleString; DistanceUnit.DEFAULT);
 double offset = DistanceUnit.DEFAULT.parse(offsetString; DistanceUnit.DEFAULT);
 IndexGeoPointFieldData indexFieldData = context.getForField(fieldType);