You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在设置size的Terms Aggregation中获取唯一词条总数?

解决方案

要实现「显示73个城市中的前20个」这种效果,你只需要在同一个查询里同时使用Terms聚合和**基数聚合(cardinality)**就可以了——前者帮你获取前N个高频词条桶,后者用来统计目标字段的唯一词条总数。

具体修改后的查询示例如下:

{
  "aggs": {
    "cities": {
      "terms": {
        "field": "city",
        "size": 20
      }
    },
    "total_cities": {
      "cardinality": {
        "field": "city"
      }
    }
  }
}

结果说明:

  • cities聚合会返回按计数排序的前20个城市桶及其对应的计数;
  • total_cities聚合返回的value值就是city字段的所有唯一词条总数(比如你示例里的73)。

这样你就可以把两个结果结合起来,实现类似「显示73个城市中的前20个」的展示效果啦。

内容的提问来源于stack exchange,提问作者Ricardo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 10:03:48