如何在Kibana可视化中使用Elasticsearch嵌套聚合

时间:2019-04-03 20:17:41

标签: elasticsearch kibana elastic-stack elasticsearch-aggregation

我在Elasticsearch中进行了以下搜索,该搜索返回了我所需的嵌套数据结构上的聚合,但是我确实想将其用作kibana中的可视化工具,但我看不到如何做到这一点: >

hdfs dfs -get <HDFS_Path> <local_path>

返回哪个

GET /system_data_nested/_search
{
  "size": 0,
  "aggs": {
    "consideration": {
      "nested": {
        "path": "children"
      },
      "aggs": {
        "gross": {
          "sum": {
            "field": "children.executions.consideration"
          }
        }
      }
    }
  }
}

然后理想情况下,我可以使用水平条形图通过日期直方图进行汇总,以对每个时间段进行存储。

这可能吗?

1 个答案:

答案 0 :(得分:0)

实际上,是可以的。我遇到了类似的问题,并使用Vega可视化解决了该问题(另请参见introduction video)。它的作用是向Elasticsearch发送自定义查询,让您决定要可视化响应的哪一部分。

在您的情况下,它看起来像这样(请注意,这是HJSON):

{
  $schema: https://vega.github.io/schema/vega-lite/v2.json
  title: Engine Score over Time
  // Define the data source
  data: {
    url: {
      index: system_data_nested
      body: {
        "size": 0,
        "aggs": {
          "consideration": {
            "nested": {
              "path": "children"
            },
            "aggs": {
              "gross": {
                "sum": {
                  "field": "children.executions.consideration"
                }
              }
            }
          }
        }
      }
    }
    format: {
      "property": "aggregations.consideration"
    }
    mark: line
    encoding: {
      x: {
        field: key
        type: temporal
        axis: { "title": "Date" }
      }
      y: {
        field: gross.value
        type: quantitative
        axis: { "title": "Consideration" }
      }
    }
  }
}

希望这会有所帮助!