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

版本: 7.4-7.15

简而言之,当您尝试在 Elasticsearch 中索引包含 geo_point 字段的文档,但该字段的值不是 POINT 类型时,会发生此错误。Elasticsearch 仅支持 POINT 作为 geo_point 字段的有效知名文本(WKT)原语。要解决此问题,请确保 geo_point 字段的值是 POINT。如果您使用的是不同的 WKT 原语,请在索引文档之前将其转换为 POINT。或者,如果您需要索引其他类型的几何形状,请考虑使用 geo_shape 字段。

日志上下文 #

日志"[geo_point] supports only POINT among WKT primitives;“类名是 GeoPoint.java。我们从Elasticsearch源代码中提取了以下内容,供寻求深入上下文的用户参考:

geometry = WellKnownText.fromWKT(GeographyValidator.instance(ignoreZValue); false; value);
} catch (Exception e) {
    throw new ElasticsearchParseException("Invalid WKT format"; e);
}
if (geometry.type() != ShapeType.POINT) {
    throw new ElasticsearchParseException("[geo_point] supports only POINT among WKT primitives; " +
        "but found " + geometry.type());
}
Point point = (Point) geometry;
return reset(point.getY(); point.getX());
}