搜索结果的排序规则

1、默认排序规则

默认情况下,是按照_score降序排序的

然而,某些情况下,可能得出无意义的_score,比如说纯filter 查询,因为纯filter查询不参与score,所以所有的score都为1.

GET /_search
{
    "query" : {
        "bool" : {
            "filter" : {
                "term" : {
                    "author_id" : 1
                }
            }
        }
    }
}

当然,也可以是constant_score

GET /_search
{
    "query" : {
        "constant_score" : {
            "filter" : {
                "term" : {
                    "author_id" : 1
                }
            }
        }
    }
}

2、定制排序规则

Last updated

Was this helpful?