ElasticSearch 排序
ElasticSearch为了按照相关性来排序,需要将相关性表示为一个数值,在 Elasticsearch 中,相关性得分由一个浮点数进行表示,并在搜索结果中通过_score
参数返回,默认排序是_score
降序。
GET /index_china/fulltext/_search { "query": { "match": { "name": "小张" } } }
有时,按照相关性评分排序并没有意义,下面的例子通过年龄来对name 进行排序是有意义的,按照年龄排序,可以使用sort
参数进行实现:
GET /index_china/fulltext/_search { "query": { "match": { "name": "小张" } }, "sort": "age" }
默认是按照年龄升序
下面是安装年龄降序
GET /index_china/fulltext/_search { "query": { "match": { "name": "小张" } }, "sort": { "age": { "order": "desc" }} }
用age
和_score
进行查询,并且匹配的结果首先按照年龄排序,然后按照相关性排序
GET /index_china/fulltext/_search { "query": { "match_all": {} }, "sort":[ {"age":{"order":"asc"}}, {"_score":{"order":"desc"}}] }
优质内容筛选与推荐>>