sort _score desc elasticsearch

时间:2016-05-19 03:34:32

标签: sorting elasticsearch

我创建了一个包含功能得分和top_hit的弹性搜索查询。此查询将删除重复并返回每个存储桶的前1个记录。

GET employeeid/info/_search
{"size": 0, 
  "query" : {
        "function_score" : {
            "query" : {
                "match" : {
                    "employeeID" : "23141A"
                }
            },
            "functions" : [{
                    "linear" : {
                        "AcquiredDate" : {
                            "scale" : "90d",
                            "decay" : 0.5
                        }
                    }
                }, {
                    "filter" : {
                        "match" : {
                            "name" : "sorna"
                        }
                    },
                    "boost_factor" : 10
                }, {
                    "filter" : {
                        "match" : {
                            "name" : "lingam"
                        }
                    },
                    "boost_factor" : 7
                }
            ],
            "boost_mode" : "replace"
        }
    },
  "aggs": {
    "duplicateCount": {
      "terms": {
      "field": "employeehash",
        "min_doc_count": 1
      },
      "aggs": {
        "duplicateDocuments": {
          "top_hits": {
              "size":1
          }
        }
      }
    }
  }
}

我得到了预期的结果,但问题是我想使用_score对结果进行排序。

以下是我简单的o / p

 {
               "key": "567",
               "doc_count": 2,
               "duplicateDocuments": {
                  "hits": {
                     "total": 2,
                     "max_score": 0.40220365,
                     "hits": [
                        {
                           "_index": "employeeid",
                           "_type": "info",
                           "_id": "5",
                           "_score": 0.40220365,
                           "_source": {
                              "name": "John",
                              "organisation": "google",
                              "employeeID": "23141A",
                              "employeehash": "567",
                              "AcquiredDate": "2016-02-01T07:57:28Z"
                           }
                        }
                     ]
                  }
               }
            },
            {
               "key": "102",
               "doc_count": 1,
               "duplicateDocuments": {
                  "hits": {
                     "total": 1,
                     "max_score": 2.8154256,
                     "hits": [
                        {
                           "_index": "employeeid",
                           "_type": "info",
                           "_id": "8",
                           "_score": 2.8154256,
                           "_source": {
                              "name": "lingam",
                              "organisation": "google",
                              "employeeID": "23141A",
                              "employeehash": "102",
                              "AcquiredDate": "2016-02-01T07:57:28Z"
                           }
                        }
                     ]
                  }
               }
            }

问题:如何排序_score:desc?
我没有启用groovy所以我不能使用脚本

0 个答案:

没有答案