Elasticsearch:排序top_hits聚合_score,然后计算文档数

时间:2018-09-30 17:29:09

标签: elasticsearch

我正在根据_score和文档数量(如果多个文档使用相同的_score)对聚合进行排序。我现在所拥有的就是能够按_score排序

  "aggs": {
    "name": {
      "terms": {
        "field": "name",
        "order": {"by_score": "desc"}
      },
      "aggs": {
        "top_hits": {
          "top_hits": {
            "size": 1,
            "_source": ["name"]
          }
        },
        "by_score": {
          "max": {"script": { "source": "_score" }
          }
        }
      }
    }
  }

1 个答案:

答案 0 :(得分:0)

我想我在这里找到了答案Elasticsearch two level sort in aggregation list

订单必须位于数组中:

        "order": [
          {"by_score": "desc"},
          {"_count": "desc"}
        ]