elasticsearch 将两个查询结果(聚合)合并到一个可视化视图中

nwlqm0z1  于 2022-11-02  发布在  ElasticSearch
关注(0)|答案(1)|浏览(371)

我得到了两个查询,每个查询都返回一个(对于我的情况)正确的聚合。

POST /my_target_0001/_search
{
  "query": {
    "term": {
      "locked": true      
    }
  },
  "aggs": {
    "abc_per_day": {
      "date_histogram": {
        "field": "lastModified",
        "calendar_interval": "day",
        "format": "yyyy-MM-dd"
      }
    }
  }
}

POST /my_target_0002/_search
{
  "aggs": {
    "xyz_per_day": {
      "date_histogram": {
        "field": "lastModified",
        "calendar_interval": "day",
        "format": "yyyy-MM-dd"
      }
    }
  }
}

正如您所看到的,数据是按天聚合的。现在,我希望显示一个直方图,其中显示同一天的每个桶的abcxyz的商。据我所知,我需要两个步骤才能最终可视化数据,首先构建一个查询,返回我所需的内容,然后将其放在可视化中的某个位置。因此,我有两个问题:

  • 如何组合这两个查询以获得上述结果?*
  • 如何从查询结果构建可视化?*

我对ElasticSearch木花还是个新手

xdyibdwo

xdyibdwo1#

Tldr;

您必须使用kibana的Timelion visualisation

可视化库-〉创建可视化-〉基于聚合-〉Timelion

示例

在这种情况下,我使用相同的索引两次,但随时使用您的。
我绘制的是超时时间,即每个桶的平均字节数与最大字节数之间的比率。

.es(index= kibana_sample_data_logs,
    timefield='@timestamp',
    metric='avg:bytes')
   .divide(
       .es(index= kibana_sample_data_logs,
           timefield='@timestamp',
           metric='max:bytes'))

相关问题