sort
sort 排序
指定按一个或多个字段排序。可通过_score指定按评分值排序,_doc 按索引顺序排序。默认是按相关性评分从高到低排序
GET /user/_search { "query": { "match_all": {} }, "sort":{ "age":{ "order":"desc" } } }
order 值:asc、desc。如果不给定,默认是asc,_score默认是desc
多值字段排序
对于值是数组或多值的字段,也可进行排序,通过mode参数指定按多值的:
min最小值,max最大值,sum和,avg平均值,median中值
PUT /my_index/_doc/1?refresh { "product": "chocolate", "price": [20, 4] } POST /my_index/_search { "query" : { "term" : { "product" : "chocolate" } }, "sort" : [ {"price" : {"order" : "asc", "mode" : "avg"}} ] }
地理空间距离排序
GET /_search { "sort" : [ { "_geo_distance" : { "pin.location" : [-70, 40], "order" : "asc", "unit" : "km", "mode" : "min", "distance_type" : "arc" } } ], "query" : { "term" : { "user" : "kimchy" } } }
参数说明:
_geo_distance 距离排序关键字
pin.location是 geo_point 类型的字段
distance_type:距离计算方式 arc球面 、plane 平面。
unit: 距离单位 km 、m 默认m
立志如山 静心求实
浙公网安备 33010602011771号