跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • Elasticsearch 中的 terms 聚合,如何得到所有 buckets 的数量?
未分類
6 2 月 2021

Elasticsearch 中的 terms 聚合,如何得到所有 buckets 的数量?

Elasticsearch 中的 terms 聚合,如何得到所有 buckets 的数量?

資深大佬 : JJstyle 3

原问题: https://stackoverflow.com/questions/66043206/how-to-get-the-buckets-count-from-terms-aggregation-in-elasticsearch

比如:得到所有订单数量大于 10 的用户总数,类似于 SQL 语句:

select count(1) from (   select count(1) as cnt from orders group by userid having cnt >= 10 ); 

大佬有話說 (5)

  • 資深大佬 : weofuh

    {
    “aggs”: {
    “user_order_cnt”: {
    “terms”: {
    “field”: “userid”
    },
    “aggs”: {
    “count_bucket_selector”: {
    “bucket_selector”: {
    “buckets_path”: {
    “count” :”_count”
    },
    “script”: “params.count>10”
    }
    }
    }
    }
    }
    }

  • 主 資深大佬 : JJstyle

    @weofuh 你这个是过滤出来 count>10 的 buckets,但是我想要的是这些 buckets 的数量

  • 資深大佬 : rykinia

    “`
    {
    “aggs”: {
    “cnt”: {
    “terms”: {
    “field”: “userid”,
    “size”: 1000,
    “min_doc_count”: 10
    }
    }
    },
    “size”: 0
    }
    “`

    结果:
    “`
    “buckets” : [
    {
    “key” : “320581180”,
    “doc_count” : 20
    },
    {
    “key” : “2207021711”,
    “doc_count” : 10
    },
    “`

    这个 doc_count 不就是数量吗

  • 主 資深大佬 : JJstyle

    @rykinia 不是的,我要的是所有 doc_count>10 的 buckets 的数量,而不是 buckets 的集合

  • 資深大佬 : tairan2006

    老哥,你不知道`_sql/translate`这个工具么

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具