版本: 6.8-6.8
简要来说,当 Elasticsearch 遇到具有未知或不支持的形状类型的字段时,会发生此错误。这通常发生在使用 geo_shape 字段时,文档中定义的形状类型与任何已识别的形状不匹配。要解决此问题,您可以将文档中的形状类型更改为已识别的类型(如 ‘point’、‘linestring’、‘polygon’ 等),或者如果该字段不是必需的,可以将其删除。此外,请确保形状数据格式正确并符合 geoJSON 标准。
日志上下文 #
日志 “Field [” + fieldName + “] found and unknown shape” 的类名是 GeoShapeQueryBuilder.java。我们从 Elasticsearch 源代码中提取了以下内容,供那些寻求深入上下文的人参考:
}
return LatLonShape.newBoxQuery(fieldName; relation.getLuceneRelation(); pt[1]; pt[1]; pt[0]; pt[0]);
} else if (queryShape instanceof Object[]) {
geoQuery = createGeometryCollectionQuery(context; (Object[]) queryShape);
} else {
throw new QueryShardException(context; "Field [" + fieldName + "] found and unknown shape");
}
return geoQuery;
} private Query createGeometryCollectionQuery(QueryShardContext context; Object... shapes) {





