我擁有的是一個數據集,它具有IP範圍,並且具有針對每個IP範圍的城市,州,郵編,緯度,經度。ElasticSearch:嘗試獲取城市,距離經緯度的距離,並根據距離進行排序
我想要得到的是城市,與給定緯度/經度最接近的州值。所以,如果這是SQL,我會按城市,州做一個小組。我如何在ElasticSearch中執行此操作?我一直在嘗試使用方面,但是我要麼獲取所有城市,數據庫中的狀態值(通過術語方面),要麼最終沒有獲得城市,州值。
請注意,我確實有一個單獨索引的字段,其中包含城市和州在一個索引,not_analyzed字段。
我也不確定在哪裏做GeoDistance檢查。我試過使用查詢,過濾器和過濾器方面。我現在基本上處於虧損狀態。不知道我是否盯着它太久或什麼。
編輯:所以,我已經想通了使用聚合(1.0中添加),但我想公開一個最小距離,以便我可以按每個存儲桶的最小地理距離排序這些聚合桶。所以,假設我有一個包含紐約,紐約所有文件的存儲桶,而且我還有另一個存儲包含所有紐約州ALBANY文件的存儲桶。現在,我希望能夠訪問每個桶的最小地理距離,以便我知道奧爾巴尼或紐約市是否更接近我的出發點。
不,因爲我需要最近點的輸出,按城市分組,地區名稱,按照該組中任何點的最小距離排序。所有解釋的是我已經知道的:這些都可以單獨完成,但不能在一起完成。 我認爲聚合API將是答案,但它似乎還沒有。 – Finster