小编Aad*_*adi的帖子

如何使用elasticsearch地理查询获取距离大于x公里的文档

嘿,我正在开发一个应用程序,我需要根据距离过滤器显示提供的纬度经度中的地点。我正在提供来自 elastic search 的数据。我可以使用 geo_distance 查询轻松提供数据,以查找具有中心点指定距离内地理点的文档。但我无法搜索超过 x 公里的数据

弹性搜索版本 - 6.6

映射 -

{
  "mappings": {
  "_doc": {
   "properties": {
     "location": {
       "type": "geo_point"
      }
    }
  }
 }
}
Run Code Online (Sandbox Code Playgroud)

要获取小于 x 公里的地方,我使用此查询

{
 "query": {
    "bool" : {
        "filter" : {
            "geo_distance" : {
                "distance" : "15km",
                "location" : {
                    "lat"  : 40.1111,
                    "lon"  : 40.1111 
                }
             }
         }
      }
   }
}
Run Code Online (Sandbox Code Playgroud)

使用什么查询来获取大于 x 公里的结果,地理过滤器是否提供任何查询参数来获取大于 x 距离的数据?我可以将过滤器与must_not结合使用吗?

elasticsearch

3
推荐指数
1
解决办法
877
查看次数

标签 统计

elasticsearch ×1