先决条件:创建bank* 和  shakespeare* 两个 index pattern 作为数据源

1、Pie chart

使用饼形图深入了解银行帐户数据中的帐户余额。

1)Visualize --> Create new visualization --> Pie -->Choose a source,选择 bank* index pattern

最初,饼形图包含单个“切片”。 这是因为默认搜索匹配所有文档。

要指定在饼图中显示哪些切片,请使用Elasticsearch存储桶聚合。 此聚合将符合搜索条件的文档分类为不同的类别。 您将使用存储桶聚合来建立多个帐户余额范围,并找出每个范围内有多少个帐户。

2)在Buckets 面板,点击 Add > Split slices.

    a.在Aggregation 下拉列表, 选择 Range

    b.在Field下拉列表, 选择balance

    c.单击四次Add range,以使范围总数达到六个。

    d.定义下面的范围:

0             999
1000         2999
3000         6999
7000        14999
15000       30999
31000       50000

    3)点击Apply changes 

kibana设置max_result_window大小_下拉列表

现在,可以看到1000个帐户中有多少比例属于每个余额范围。

kibana设置max_result_window大小_升序_02

      4)添加另一个查看帐户持有人年龄的bucket 聚合

            a.在Buckets 的底部,点击Add

            b.对于sub-bucket type,选择Split slices

            c.在Sub aggregation下拉列表,选择Terms

            d.在Field 下拉列表,选择 age

       5)点击 Apply changes 

kibana设置max_result_window大小_下拉列表

       现在,可以看到帐户持有人年龄的细分,在余额范围周围以环形显示。 

kibana设置max_result_window大小_下拉列表_04

order by Count,是按照记录的条数来排序,而不是年龄。

可以点击Inspect来查看Elasticsearch 查询语句。 对应的聚合语句为:

"aggs": {
    "2": {
      "range": {
        "field": "balance",
        "ranges": [
          {
            "from": 0,
            "to": 999
          },
          {
            "from": 1000,
            "to": 2999
          },
          {
            "from": 3000,
            "to": 6999
          },
          {
            "from": 7000,
            "to": 14999
          },
          {
            "from": 15000,
            "to": 30999
          },
          {
            "from": 31000,
            "to": 50000
          }
        ],
        "keyed": true
      },
      "aggs": {
        "3": {
          "terms": {
            "field": "age",
            "order": {
              "_count": "desc"
            },
            "size": 5
          }
        }
      }
    }
  }

     6) 要保存此图表以便以后使用,请单击顶部菜单栏中的Save ,然后输入Pie Example。

2、Bar chart 

使用条形图查看莎士比亚的数据集,并比较剧中口头部分的数量。

1)创建Vertical Bar chart并将搜索源设置为Index pattern shakespeare*

2) 在Y轴上显示每剧的口语部分的数量

    a.在Metrics 窗格中,展开“ Y轴”。

    b.设置Aggregation 为Unique Count

    c.设置Field 为 speaker

    d.在Custom label框中,输入Speaking Parts

3)沿X轴显示剧

    a.在Buckets窗格中,点击Add > X-axis

    b.设置Aggregation 为Terms

    c.设置Field 为play_name

    d.要按字母顺序列出剧,在Order 下拉列表,选择Ascending。

    e.给该轴一个自定义标签Play Name

4)点击Apply changes 

kibana设置max_result_window大小_下拉列表

kibana设置max_result_window大小_升序_06

排序是按照 Y轴Speaking Parts做升序。

该visualization 对应的elasticsearch 聚合查询语句为(意思是求每个play有多少个不同的speaker,并按照speaker的数量做升序排列):

"aggs": {
    "2": {
      "terms": {
        "field": "play_name",
        "order": {
          "1": "asc"
        },
        "size": 5
      },
      "aggs": {
        "1": {
          "cardinality": {
            "field": "speaker"
          }
        }
      }
    }
  },

注意各个剧的名称为什么显示为整个短语,而不是分解为单个单词。 这是您在教程开始时将play_name字段标记为不被分析时进行映射的结果。

5)使用名字Bar Example来保存该图表。