说明
sort 可以按照不同的字段进行排序,并且通过 order 指定排序的方式:
- desc 降序
- asc 升序
单字段排序
根据 like 进行排序
相当于:
select title,like from toutiao_v1 where title like '%入门%' limit 0,2 order by like desc
es写法:
GET /toutiao_v1/_search
{
"query":{
"match_phrase":{
"title":"入门"
}
},
"from":0,
"size":2,
"_source":["title","like"],
"sort":{
"like":"desc"
}
}
或者
GET /toutiao_v1/_search
{
"query":{
"match_phrase":{
"title":"入门"
}
},
"from":0,
"size":2,
"_source":["title","like"],
"sort":{
"like":{
"order":"desc" //倒序。不写 或 asc 表示正序
}
}
}
多字段排序
相当于:
select title,like from toutiao_v1 where title like '%入门%' limit 0,2 order by date asc,like desc
- 先按照日期正序排序
- 当日期相同时,按照点赞量倒序排序
GET /toutiao_v1/_search
{
"query":{
"match_phrase":{
"title":"入门"
}
},
"from":0,
"size":3,
"_source":["title","like","date"],
"sort":[
{"date":"asc"}, //第一排序,按照日期正序排序
{"like":"asc"} //第二排序,当日期相同时,按照点赞量倒序
]
}
或者:
GET /toutiao_v1/_search
{
"query":{
"match_phrase":{
"title":"入门"
}
},
"from":0,
"size":3,
"_source":["title","like","date"],
"sort":[
{
"date":{
"order":"asc" //第一排序,按照日期正序排序
}
},{
"like":{
"order":"desc" //第二排序,当日期相同时,按照点赞量倒序
}
}
]
}