原文链接:http://blog.csdn.net/dm_vincent/article/details/42539391
创建条形图(Building Bar Charts)
聚合的一个令人激动的性质是它能够很容易地被转换为图表和图形。在本章中,我们会使用前面的样本数据集来创建出各种分析案例。我们也会展示聚合能够支持的种类。
柱状图桶(Histogram Bucket)非常有用。柱状图在本质上就是条形图,如果你创建过一份报告或者分析面板(Analytics Dashboard),毫无疑问其中会有一些条形图。柱状图通过指定一个间隔(Interval)来工作。如果我们使用柱状图来表示销售价格,你或许会指定一个值为20000的间隔。因此每20000美刀会创建一个桶。然后文档会被分配到桶中。
对于我们的仪表板,我们想要知道每个价格区间中有多少辆车。同时我们也想知道该价格桶中产生了多少收入。这是通过将该间隔中所有的车的售价累加而计算得到的。
为了达到这一目的,我们使用了一个histogram类型的聚合然后在其中嵌套了一个sum指标:
GET /cars/transactions/_search?search_type=count
{
"aggs":{
"price":{
"histogram":{
"field": "price",
"interval": 20000
},
"aggs":{
"revenue": {
"sum": {
"field" : "price"
}
}
}
}
}
}
正如你能看到的那样,我们的查询是围绕着价格聚合而建立的,该聚合包含了一个柱状图桶。该桶需要一个数值字段以及一个间隔值来进行计算。间隔用来定义每个桶有“多宽”。间隔为20000意味着我们能够拥有区间[0-19999, 20000-39999, 等]。
接下来,我们在柱状图中定义了一个嵌套的指标。它是一个sum类型的指标,会将该区间中的文档的price字段进行累加。这就得到了每个价格区间中的收入,因此我们就能够从中看出是普通车还是豪华车赚的更多。
以下是得到的响应:
{
...
"aggregations": {
"price": {
"buckets": [
{
"key": 0,
"doc_count": 3,
"revenue": {
"value": 37000
}
},
{
"key": 20000,
"doc_count": 4,
"revenue": {
"value": 95000
}
},
{
"key": 80000,
"doc_count": 1,
"revenue": {
"value": 80000
}
}
]
}
}
}
The response is fairly self-explanatory, but it should be noted that the histogram keys correspond to the lower boundary of the interval. The key 0 means 0-19,999, the key 20000 means 20,000-39,999, and so forth. 响应是能够对其意义进行解释的,但是值得注意的是histogram键对应的是间隔的下边界。键值0表示的是0-19999,键值20000表示的是20000-39999,以此类推。
NOTE 缺失了空桶
你也许会注意到40000-60000美刀这一个间隔没有出现在响应中。histogram桶默认会省略它,因为包含空桶可能会造成输出过大,而这可能并不是我们想要的结果。
在下一节中我们会讨论如何包含空桶,返回空桶
从图形上,你可以将前面的数据表示如下:
当然,你可以使用任何生成类别和统计信息的聚合来创建条形图,并不仅限于使用histogram桶。让我们创建一个受欢迎的汽车制造商的条形图,其中包含了它们的平均价格和标准误差(Standard Error)。需要使用的而是terms桶以及一个extended_stats指标:
GET /cars/transactions/_search?search_type=count
{
"aggs": {
"makes": {
"terms": {
"field": "make",
"size": 10
},
"aggs": {
"stats": {
"extended_stats": {
"field": "price"
}
}
}
}
}
}
它会返回一个制造商列表(根据受欢迎程度排序)以及针对每个制造商的一些列统计信息。其中,我们对stats.avg,stats.count以及stats.std_deviation感兴趣。有了这一信息,我们能够计算出标准误差:
std_err = std_deviation / count
得到的图形如下所示:
相关推荐
赠送jar包:elasticsearch-x-content-6.3.0.jar; 赠送原API文档:elasticsearch-x-content-6.3.0-javadoc.jar; 赠送源代码:elasticsearch-x-content-6.3.0-sources.jar; 赠送Maven依赖信息文件:elasticsearch-x...
赠送jar包:elasticsearch-rest-high-level-client-6.8.3.jar; 赠送原API文档:elasticsearch-rest-high-level-client-6.8.3-javadoc.jar; 赠送源代码:elasticsearch-rest-high-level-client-6.8.3-sources.jar;...
赠送jar包:elasticsearch-rest-client-6.8.3.jar; 赠送原API文档:elasticsearch-rest-client-6.8.3-javadoc.jar; 赠送源代码:elasticsearch-rest-client-6.8.3-sources.jar; 赠送Maven依赖信息文件:elastic...
最新版 elasticsearch-analysis-ik-8.7.0.zip最新版 elasticsearch-analysis-ik-8.7.0.zip最新版 elasticsearch-analysis-ik-8.7.0.zip最新版 elasticsearch-analysis-ik-8.7.0.zip
最新版windows elasticsearch-8.8.2-windows-x86_64.zip最新版windows elasticsearch-8.8.2-windows-x86_64.zip最新版windows elasticsearch-8.8.2-windows-x86_64.zip最新版windows elasticsearch-8.8.2-windows-...
赠送jar包:elasticsearch-rest-high-level-client-6.8.3.jar; 赠送原API文档:elasticsearch-rest-high-level-client-6.8.3-javadoc.jar; 赠送源代码:elasticsearch-rest-high-level-client-6.8.3-sources.jar;...
elasticsearch-analysis-ik-7.17.0
适用于7.17.1系列,例如Elasticsearch的7.17.12版本。 elasticsearch-analysis-ik 是一个常用的中文分词器,在 Elasticsearch 中广泛应用于中文文本的分析和搜索。下面是 elasticsearch-analysis-ik 分词器的几个...
最新版elasticsearch-analysis-ik-8.8.2.zip最新版elasticsearch-analysis-ik-8.8.2.zip最新版elasticsearch-analysis-ik-8.8.2.zip最新版elasticsearch-analysis-ik-8.8.2.zip
elasticsearch-analysis-ik-7.14.0-c.zip elasticsearch-analysis-ik-7.14.0-c.zip elasticsearch-analysis-ik-7.14.0-c.zip
使用checkout tag: v5.1.2git checkout v5.1.2运行gradle buildPluginZip创建 directory ${path.home}/plugins/jieba复制zip 文件到分词插件cp build/distributions/elasticsearch-jieba-plugin-5.1.2.zip ${...
最新版 elasticsearch-analysis-ik-7.10.2.zip最新版 elasticsearch-analysis-ik-7.10.2.zip
最新版 elasticsearch-analysis-ik-7.17.6.zip最新版 elasticsearch-analysis-ik-7.17.6.zip
elasticsearch-8.11.0的分词器,配合es同版本使用,有粗粒度和细粒度分词
elasticsearch-repository-oss-6.7.0, elasticsearch-repository-oss-6.7.2从oss恢复es快照到集群插件。
赠送jar包:elasticsearch-x-content-6.3.0.jar; 赠送原API文档:elasticsearch-x-content-6.3.0-javadoc.jar; 赠送源代码:elasticsearch-x-content-6.3.0-sources.jar; 赠送Maven依赖信息文件:elasticsearch-x...
elasticsearch-ik-7.16.2 分词器
最新版 elasticsearch-analysis-ik-7.9.1.zip最新版 elasticsearch-analysis-ik-7.9.1.zip
ETL工具kettle7.1抽取数据目前不支持elasticsearch 2.X以上版本,如果想要支持elasticsearch 6.X以上版本,必须替换elasticsearch-bulk-insert-plugin插件,该资源提供该插件的替换。 具体步骤为在spoon kettle\data-...
elasticsearch-analysis-ik-7.4.0