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"}}] }