【发布时间】:2018-12-29 00:09:45
【问题描述】:
我正在尝试使用 Nest 包将多个形状插入 ElasticSearch geo_shape 字段。
最初我使用了 Nest.PolygonGeoShape,它适用于单个形状,但是当我有多个形状时,弹性会抛出
invalid_shape_exception: Invalid shape: Hole is not within polygon
我阅读并发现具有多种形状的多边形被视为外部形状和“孔”。然而,MultiPolygon 被视为单独形状的集合。
我切换到 GeoJSON.Net.Geometry.MultiPolygon 类型(不小心使用了错误命名空间中的一个),它运行良好。插入很好,反序列化也很好。
注意到命名空间,我切换到 Nest.MultiPolygonGeoShape 并返回了原始错误。
我更喜欢使用 Nest 定义的合同类型。
为什么 ElasticSearch 不将我的 MultiPolygonGeoShape 视为单独的形状?
【问题讨论】:
-
你能提供形状吗?链接到gist(如果它真的很大)
-
感谢@RussCam - 打印请求显示了差异。
标签: c# .net elasticsearch nest geo