【问题标题】:How can I filter the counter less than a parameter in Kibana?如何在 Kibana 中过滤小于参数的计数器?
【发布时间】:2018-08-15 23:00:58
【问题描述】:

我有一个类似的问题:如何在 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(*)

谢谢。

【问题讨论】:

    标签: elasticsearch grouping kibana


    【解决方案1】:

    在 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 的存储桶。无需订购任何内容或对您的应用程序进行编程以忽略任何内容。

    【讨论】:

    • 好的,这是一个很好的查询,但它只在 kibana 的控制台上运行。我需要用这个结果创建一个图表,这就是为什么我引用像“{'min_doc_count': X}”这样的代码,该代码可以用于高级 JSON 选项。
    • 您也许可以通过 Visual Builder 可视化实现类似的效果。
    • 我看了一下“Visual Builder Visualization”,但并没有真正找到我需要的东西。你能更具体一点吗?注意:我的 Kibana 版本是:6.1.3
    • 在一些可视化(前 N 个、公制等)中,在面板选项中,您在底部有一个设置,显示“如果公制 [大于,小于] 一些价值”。您可以根据自己的喜好进行配置。但是,我不确定您的图表应该是什么样子,所以我无法提供示例。
    • 好的,我的想法是创建一个表,其中行的记录 ID 为“counter = 1”(或 counter
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-01-16
    • 2021-02-16
    • 1970-01-01
    • 1970-01-01
    • 2020-10-21
    • 1970-01-01
    • 2017-09-08
    相关资源
    最近更新 更多