如何在Kibana中过滤小于参数的计数器?

时间:2018-07-31 22:49:17

标签: elasticsearch grouping kibana

我有一个与此类似的问题:如何过滤字段更大而不是Kibana上的计数器? https://github.com/elastic/kibana/issues/9684

在此链接上,有一个完美的答案:您需要在Json Input Advanced Bucket Option上使用“ {'min_doc_count':X}”。完美,它的运行方式与我想要的完全一样,只是因为我想要相反的内容,例如“ max_doc_count”。

令我惊讶的是,这个选项不存在……有人知道“ max_doc_count”相当于什么?

在SQL中将类似于:GROUP BY my_field HAVING COUNT(*)<3

谢谢。

1 个答案:

答案 0 :(得分:2)

在ES中执行此操作的正确方法是将bucket_selector pipeline aggregationspecial _count path一起使用。

POST /_search
{
  "size": 0,
  "aggs": {
    "my_terms": {
      "terms": {
        "field": "my_field.keyword"
      },
      "aggs": {
        "max_doc_count": {
          "bucket_selector": {
            "buckets_path": {
              "count": "_count"
            },
            "script": {
              "source": "params.count < 3"
            }
          }
        }
      }
    }
  }
}

结果中,my_terms聚合将仅包含文档计数为<3的存储桶。无需订购任何东西或对您的应用程序进行编程以忽略任何东西。