elasticsearch 基于聚合结果的Elasticsearch Bucket,elasticsearch,kibana,visualization,elasticsearch,Kibana,Visualization" /> elasticsearch 基于聚合结果的Elasticsearch Bucket,elasticsearch,kibana,visualization,elasticsearch,Kibana,Visualization" />

elasticsearch 基于聚合结果的Elasticsearch Bucket

elasticsearch 基于聚合结果的Elasticsearch Bucket,elasticsearch,kibana,visualization,elasticsearch,Kibana,Visualization,我用的是麋鹿7.x。我想在基巴纳直方图或条形图上的结果进行汇总。解释起来有点抽象,下面是等效的SQL查询 select count(*) as no_of_docs, doc_type from documents group by doc_type 15 pdf 21 doc 17 txt 1 ppt 直方图或任何图表如下所示: No of docs Count of doc type (X-Axis) (Y-Axis)

我用的是麋鹿7.x。我想在基巴纳直方图或条形图上的结果进行汇总。解释起来有点抽象,下面是等效的SQL查询

select count(*) as no_of_docs, doc_type 
from documents
group by doc_type

15     pdf
21     doc
17     txt
 1     ppt
直方图或任何图表如下所示:

No of docs        Count of doc type 
(X-Axis)          (Y-Axis) 
1-10              1 [1 ppt occurrence in the 1-10 bucket]
11-20             2 [1 pdf, 1 txt occurrences in the 11-20 bucket]
21 and above      1 [1 doc occurrence in the 21 and above  bucket]

这可能并不简单,但我确实认为这应该是可能的。

我提出了以下映射和文档,并相应地创建了可视化工具

映射: 文件: 查询和响应示例: Kibana可视化工具: 第1步:

首先,您需要创建索引模式。你可以检查这是如何做到的

基本上访问管理>Kibana>索引模式并添加索引,即
我的文档

第二步:

  • 单击Kibana左侧的
    可视化
    按钮
  • 完成此操作后,您将看到
    createnewvisualization
  • 您应该可以看到各种类型的可视化工具,向下滚动并选择
    Vertical Bar
    visualizer
  • 现在,您应该选择应用此可视化工具的索引,即索引
    my_docs
    。请注意,如果尚未创建索引模式,则不会显示此索引
  • 注意屏幕,默认情况下,它已经添加了doc_count作为Y轴,您只需配置X轴即可
  • 铲斗
    部分下,单击添加并选择X轴
  • 请注意,您应该会看到X轴被选中,并显示
    聚合
    字段
  • 选择
    术语
    ,然后在
    字段
    部分选择
    文档类型
  • 现在单击本节顶部配置字段的
    面板设置
    旁边的蓝色运行按钮(当您将光标移动到该按钮上时,它应显示
    应用更改
以下是X轴零件的图像显示方式:

请注意,可视化工具已准备就绪。以下是上述示例数据在我的机器中的显示方式:


让我知道这是否有帮助

您所做的是标准用例。我不想要x轴上的文档类型(pdf/jpeg/txt),而是存储桶中的文档数量。它就像主查询之上的外部查询。请再看看我的问题。
PUT my_docs
{
  "mappings": {
    "properties": {
      "doc_type":{
        "type": "keyword"
      }
    }
  }
}
POST my_docs/_doc/1
{
  "doc_type": "pdf"
}

POST my_docs/_doc/2
{
  "doc_type": "pdf"
}

POST my_docs/_doc/3
{
  "doc_type": "pdf"
}

POST my_docs/_doc/4
{
  "doc_type": "jpeg"
}

POST my_docs/_doc/5
{
  "doc_type": "jpeg"
}

POST my_docs/_doc/6
{
  "doc_type": "txt"
}

POST my_docs/_doc/7
{
  "doc_type": "txt"
}
POST /_sql?format=txt
{
    "query": "select count(*) as no_of_docs, doc_type from my_docs group by doc_type"
}

  no_of_docs   |   doc_type    
---------------+---------------
2              |jpeg           
3              |pdf            
2              |txt