2016-11-24 166 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应该是首选。