Elasticsearch 之(41)搜索距离当前位置一定范围内的酒店


酒店o2o app,作为案例背景

比如说,现在用户,所在的位置,是个地理位置的坐标,我是知道我的坐标的,app是知道的,android,地理位置api,都可以拿到当前手机app的经纬度

现在就要搜索出,举例我200m,或者1公里内的酒店

我们之前出去玩儿,都会用一些酒店o2o app,典型的代表,很多旅游app,一般来说,我们怎么搜索,到了一个地方,就会搜索说,我这里举例几百米,2公里内的酒店,搜索一下

上篇《Elasticsearch 之(40)酒店o2o搜索案例以及搜索指定区域内的酒店》讲解的,其实也很重要,一般来说,发生在我们在去旅游之前,会现在旅游app上搜索一个区域内的酒店,比如说,指定了西安火车站、西安博物馆,拿指定的几个地方的地理位置,组成一个多边形区域范围,去搜索这个区域内的酒店

承认,一些案例,当然不可能说达到讲解真实的复杂的大型的项目的效果来的那么好,光是学知识,学技术而言,有一些案例就非常不错了
后面,会讲解真正的企业级的大型的搜索引擎,真实复杂业务的数据分析系统的项目

GET /hotel_app/hotels/_search
{
  "query": {
    "bool": {
      "must": [
        {
          "match_all": {}
        }
      ],
      "filter": {
        "geo_distance": {
          "distance": "200km",
          "pin.location": {
            "lat": 40,
            "lon": -70
          }
        }
      }
    }
  }
}


posted @ 2018-05-31 22:48  91vincent  阅读(171)  评论(0编辑  收藏  举报