如何在Elastic Search中对聚合进行分页?

问题描述 投票:0回答:1

我有一个聚合,即自动完成下拉搜索。

GET org-members /_search
{
  "size": 0, 
  "aggs": {
    "members": {
      "terms": {
        "field": "members.keyword",
        "size": 1000
      }
     }
    }
  }
}

您收到全部 1000 个汇总值。

elasticsearch elastic-stack elk
1个回答
0
投票

只需使用 基数bucket_sort .

基数文档:https://www.elastic.co/guide/en/elasticsearch/reference/current/search-aggregations-metrics-cardinality-aggregation.html

bucket_sort 文档:https://www.elastic.co/guide/en/elasticsearch/reference/current/search-aggregations-pipeline-bucket-sort-aggregation.html

GET org-members/_search
{
  "size": 0, 
  "aggs": {
    "total_count_of_aggergation": {
      "cardinality": {
        "field": "members.keyword"
      }
    },
    "members_aggs": {
      "terms": {
        "field": "members.keyword",
        "size": 10000 //put a very high value 
      },
      "aggs": {
        "bucket_sort": {
          "bucket_sort": {
            "from": 0,
            "size": 10
          }
        }
      }
    },
    "totalIds": {
      "stats_bucket": {
        "buckets_path": "members._count"
      }
    }
  }
}

© www.soinside.com 2019 - 2024. All rights reserved.