ElasticSearch 排序

  一、相關性排序

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

    

相關文章
相關標籤/搜索