Elasticsearch提供了多種方法來進行排序查詢。
sort
參數指定排序字段和排序順序。例如,使用以下查詢可以按照age
字段升序排列結果:GET /index/_search
{
"query": {
"match_all": {}
},
"sort": [
{ "age": "asc" }
]
}
sort
參數的_script
字段來指定排序腳本。例如,使用以下查詢可以按照自定義的腳本排序結果:GET /index/_search
{
"query": {
"match_all": {}
},
"sort": [
{
"_script": {
"type": "number",
"script": {
"source": "doc['age'].value * params.multiplier",
"params": {
"multiplier": 2
}
},
"order": "asc"
}
}
]
}
sort
參數的_geo_distance
字段根據距離進行排序。例如,使用以下查詢可以按照指定坐標點與文檔中地理位置字段之間的距離排序結果:GET /index/_search
{
"query": {
"match_all": {}
},
"sort": [
{
"_geo_distance": {
"location": {
"lat": 40.712776,
"lon": -74.005974
},
"order": "asc",
"unit": "km"
}
}
]
}
這些是一些常見的排序查詢方法,你可以根據具體的需求選擇適合的方法來進行排序查詢。