2016-11-24 167 views
0

指的的Sorting文檔,部分地理距離排序,這裏的問題:Elasticsearch地理距離排序

給出的示例如下:

GET /_search 
{ 
    "sort" : [ 
     { 
      "_geo_distance" : { 
       "pin.location" : [-70, 40], 
       "order" : "asc", 
       "unit" : "km", 
       "mode" : "min", 
       "distance_type" : "sloppy_arc" 
      } 
     } 
    ], 
    "query" : { 
     "term" : { "user" : "kimchy" } 
    } 
} 

pin.location中包含的映射領域地理位置?或者它是否被搜索API理解爲包含基本位置的關鍵字?如果這是一個據稱包含該位置的字段,那麼不應該將排序字詞包括nested_path設置爲pin?如果它是一個參數,elasticsearch從何處獲取物品的位置?

此外,文檔提及sort_mode作爲參數,但代碼使用mode,我想這是一個錯字?

回答

1

pin.location是包含要排序的位置的字段的名稱。

nested_path是不需要的,如果pin是一個簡單的對象,即不是nested之一。

modesort_mode都是正確的名稱,但sort_mode已過時,所以mode應該是首選。