1. 程式人生 > >Elasticsearch 之(41)搜尋距離當前位置一定範圍內的酒店

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
          }
        }
      }
    }
  }
}