首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在多个geo_distance查询上进行搜索

如何在多个geo_distance查询上进行搜索
EN

Stack Overflow用户
提问于 2019-09-29 18:46:56
回答 1查看 115关注 0票数 1

我想用geo_distance query在多个位置上搜索(使用ES 7.3)。例如:

在柏林搜索+10公里

慕尼黑+10公里搜索

然后给我一个综合的结果。

基本上我在这里尝试了一下:

geo_distance上的数组不工作。我很想在这方面得到一些帮助:)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-09-30 10:31:06

搜索多个位置映射的一个简单示例:

代码语言:javascript
复制
PUT location
{
    "mappings": {
        "properties" : {
            "pin" : {
                "type" : "geo_point"
            }
        }
    }
}

数据:

代码语言:javascript
复制
[
      {
        "_index" : "location",
        "_type" : "_doc",
        "_id" : "rhn8f20BIb7c4jbYhr3Z",
        "_score" : 1.0,
        "_source" : {
          "pin" : {
            "lat" : 40.73,
            "lon" : -74.1
          }
        }
      },
      {
        "_index" : "location",
        "_type" : "_doc",
        "_id" : "rxn8f20BIb7c4jbYz709",
        "_score" : 1.0,
        "_source" : {
          "pin" : {
            "lat" : 40.717,
            "lon" : -73.99
          }
        }
      }
    ]

查询:

代码语言:javascript
复制
GET location/_search
{
  "query": {
    "bool": {
      "should": [    ---> multiple filters in should clause , either one of these has to be true
        {
          "geo_distance" : {
                "distance" : "1km",
                "pin" : {
                    "lat" : 40.73,
                    "lon" : -74.1
                }
            }
        },
        {
          "geo_distance" : {
                "distance" : "1km",
                "pin" : {
                    "lat" : 40.717,
                    "lon" : -73.99
                }
            }
        }
      ]
    }
  }
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58154471

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档