ElasticSearch为了按照相关性来排序,须要将相关性表示为一个数值,在 Elasticsearch 中, 相关性得分 由一个浮点数进行表示,并在搜索结果中经过 _score
参数返回, 默认排序是 _score
降序。html
GET /index_china/fulltext/_search { "query": { "match": { "name": "小张" } } }
有时,按照相关性评分排序并无意义,下面的例子经过年龄来对 name 进行排序是有意义的,按照年龄排序,能够使用 sort
参数进行实现:elasticsearch
GET /index_china/fulltext/_search { "query": { "match": { "name": "小张" } }, "sort": "age" }
默认是按照年龄升序ide
下面是安装年龄降序ui
GET /index_china/fulltext/_search { "query": { "match": { "name": "小张" } }, "sort": { "age": { "order": "desc" }} }
用 age
和 _score
进行查询,而且匹配的结果首先按照年龄排序,而后按照相关性排序spa
GET /index_china/fulltext/_search { "query": { "match_all": {} }, "sort":[ {"age":{"order":"asc"}}, {"_score":{"order":"desc"}}] }