Sorting

排序与相关性

1、排序
默认是根据相关性_score进行降序排序。
filter会导致_score为0,如果0分对我们造成了影响可以使用constants_score,1分
2、按照字段的值排序

GET /_search
{
    "query" : {
        "bool" : {
            "filter" : { "term" : { "user_id" : 1 }}
        }
    },
    "sort": { "date": { "order": "desc" }}
}

_score不被计算(如果无论如何都要计算_score,可以将参数track_scores设置为true)
每个结果中包含sort字段,以时间毫秒数显示
Tip:可以指定字段来排序

"sort": "number_of_children"

字段默认升序排序,而_score降序排序
3、多级排序

GET /_search
{
    "query" : {
        "bool" : {
            "must":   { "match": { "tweet": "manage text search" }},
            "filter" : { "term" : { "user_id" : 2 }}
        }
    },
    "sort": [
        { "date":   { "order": "desc" }},
        { "_score": { "order": "desc" }}
    ]
}

首先按照第一个条件排序,第一个值完全相同才进入第二个条件排序
4、多值字段的排序
字段有多个值的排序,可以使用排序模式min/max/avg/sum

"sort": {
    "dates": {
        "order": "asc",
        "mode":  "min"
    }
}

字符串排序与多字段

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容