我有一个带有区域属性的文件。该属性是一个多边形数组。假设多边形代表某些城市的边界。
鉴于我有一个边界框,我想查询那些在边界框中至少有一个多边形的文档。
如果有一个与过滤器匹配的区域或边界框太大,所有多边形都在其中,我的查询有效。
{
"query":{
"bool":{
"filter":[
{
"geo_shape":{
"areas":{
"shape":{
"type":"envelope",
"coordinates":[
[
20.9325116,
52.2280665
],
[
21.0069884,
52.1928718
]
]
},
"relation":"within"
}
}
}
]
}
}
}
示例区域属性如下所示:
{
"areas":[
{
"type":"polygon",
"coordinates":[
]
},
{
"type":"polygon",
"coordinates":[
]
}
]
}