Elasticsearch如何查找两个圆形区域的差集中的文档?

今天在过需求的时候,有一个场景需要查找到大圆套小圆,不重叠区域里的房源,也就是环里的房源。要如何实现?
已邀请:

zkbhj - 凯冰科技站长

赞同来自:

调研了方案之后,第一个发现的是 geo-distance-range 方式,见官方文档:
https://www.elastic.co/guide/cn/elasticsearch/guide/current/geo-distance.html
但是白欢喜一场,这个查询方式在5.x版本之后就被废弃了。
 
然后使用了下面的查询方式实现了需求场景:
GET rooms/_search
{
"query": {
"bool" : {
"must": [
{
"geo_distance" : {
"distance" : "5km",
"location" : "39.84204,116.431503"
}

}
],
"must_not": [
{
"geo_distance" : {
"distance" : "3km",
"location" : "39.84204,116.431503"
}

}
]
}
}
}

要回复问题请先登录注册