geojson 到 Elasticsearch:无法细分形状
geojson to Elasticsearch : Unable to Tessellate shape
我正在将一些 geojson 文件(大约 4000 ~ 5000 个多面特征)索引到 Elasticsearch 中。
这是映射
"mappings": {
"properties": {
"type": {
"type": "keyword"
},
"properties": {
"type": "object"
},
"geometry": {
"type": "geo_shape"
}
}
}
我的索引代码如下所示:
helpers.bulk(es, k, chunk_size=500, request_timeout=1000)
索引操作(在块中)被此错误消息停止:
{'type': 'mapper_parsing_exception', 'reason': 'failed to parse field [geometry] of type [geo_shape]', 'caused_by': {'type': 'illegal_argument_exception', 'reason': 'Unable to Tessellate shape
这个错误的原因是什么?
我可以在索引 geojson 文件时忽略这个错误吗?
您的 geojson 在语法上是正确且有效的。现在您只需要确保正确索引您的多边形:
PUT demo_l08_bs
{
"mappings": {
"properties": {
"geometry": {
"type": "geo_shape"
}
}
}
}
索引 geojson w/o 更改任何内容:
POST demo_l08_bs/_doc
{
"properties": {
...
},
"geometry": {
"type": "MultiPolygon",
"coordinates": [...]
}
}
验证点位于其中:
GET demo_l08_bs/_search
{
"query": {
"geo_shape": {
"geometry": {
"shape": {
"type": "point",
"coordinates": [
151.14646911621094,
-33.68463933764522
]
},
"relation": "intersects"
}
}
}
}
我查看了这个问题,多边形是有效的,并发现了 Lucene tessellator 中的一个错误。我开了一个问题:
https://issues.apache.org/jira/browse/LUCENE-9417
修复在这里:
我不确定这个错误是否是由输入文件中一些复杂的多边形引起的。
然而,在将多边形转换为受以下启发的单个多边形后 post,我成功地摄取了所有形状而没有任何错误:)
https://gist.github.com/mhweber/cf36bb4e09df9deee5eb54dc6be74d26
我正在将一些 geojson 文件(大约 4000 ~ 5000 个多面特征)索引到 Elasticsearch 中。
这是映射
"mappings": {
"properties": {
"type": {
"type": "keyword"
},
"properties": {
"type": "object"
},
"geometry": {
"type": "geo_shape"
}
}
}
我的索引代码如下所示:
helpers.bulk(es, k, chunk_size=500, request_timeout=1000)
索引操作(在块中)被此错误消息停止:
{'type': 'mapper_parsing_exception', 'reason': 'failed to parse field [geometry] of type [geo_shape]', 'caused_by': {'type': 'illegal_argument_exception', 'reason': 'Unable to Tessellate shape
这个错误的原因是什么?
我可以在索引 geojson 文件时忽略这个错误吗?
您的 geojson 在语法上是正确且有效的。现在您只需要确保正确索引您的多边形:
PUT demo_l08_bs
{
"mappings": {
"properties": {
"geometry": {
"type": "geo_shape"
}
}
}
}
索引 geojson w/o 更改任何内容:
POST demo_l08_bs/_doc
{
"properties": {
...
},
"geometry": {
"type": "MultiPolygon",
"coordinates": [...]
}
}
验证点位于其中:
GET demo_l08_bs/_search
{
"query": {
"geo_shape": {
"geometry": {
"shape": {
"type": "point",
"coordinates": [
151.14646911621094,
-33.68463933764522
]
},
"relation": "intersects"
}
}
}
}
我查看了这个问题,多边形是有效的,并发现了 Lucene tessellator 中的一个错误。我开了一个问题:
https://issues.apache.org/jira/browse/LUCENE-9417
修复在这里:
我不确定这个错误是否是由输入文件中一些复杂的多边形引起的。
然而,在将多边形转换为受以下启发的单个多边形后 post,我成功地摄取了所有形状而没有任何错误:)
https://gist.github.com/mhweber/cf36bb4e09df9deee5eb54dc6be74d26