版本: 7.11-8.9
简而言之,当您尝试为Elasticsearch中仅支持BKD参数的字段类型使用非BKD(Block K-D tree)参数时,会出现此错误。这在数值或地理位置点字段中很常见。要解决此问题,您应该确保为字段类型使用了正确的参数。如果您使用的是数值或地理位置点字段,请确保使用BKD参数。或者,您可能需要将字段类型更改为支持您尝试使用的参数的类型。
日志上下文
日志 “Non-BKD field parameters are not supported for [{}] field type” 的类名是 LegacyGeoShapeFieldMapper.java. 我们从Elasticsearch源代码中提取了以下内容,供那些寻求深入背景的人参考:
public Builder(String name; IndexVersion version; boolean ignoreMalformedByDefault; boolean coerceByDefault) {
super(name); if (ShapesAvailability.JTS_AVAILABLE == false || ShapesAvailability.SPATIAL4J_AVAILABLE == false) {
throw new ElasticsearchParseException("Non-BKD field parameters are not supported for [{}] field type"; CONTENT_TYPE);
} this.indexCreatedVersion = version;
this.ignoreMalformed = ignoreMalformedParam(m -> builder(m).ignoreMalformed.get(); ignoreMalformedByDefault);
this.coerce = coerceParam(m -> builder(m).coerce.get(); coerceByDefault);





