使用定制查询实现Elasticsearch中的可视化 [英] Visualization in Elasticsearch using customized query

查看:27
本文介绍了使用定制查询实现Elasticsearch中的可视化的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我的情况是这样的,假设我的索引文档是这样的:

{
"user" : 1
"started" : "2021-06-05"
"finished" : -1
"status": "ONGOING"
}

{
"user" : 2
"started" : "2021-06-05"
"finished" : "2021-06-06"
"status": "DONE"

}

像这样,我有100个文档被编入索引。正在进行的文件以-1\f25 Finish Time-1(完成时间)和-1\f25 Complete Once-1(完成一我想要可视化一个图形,该图形可以给出X轴上具有";start";字段的正在进行的应用程序的数量。 在日期直方图中,我只能获得该特定时间间隔内经过过滤的正在进行的流程。但是我希望每个时间间隔都对正在进行的应用程序的计数进行计数,直到文档根据完成时间更新为止。 在基巴纳有什么我可以想象的吗?即使是可以提供此输出的弹性搜索查询也可以。

推荐答案

这与我曾经遇到并现在已经解决的问题非常相似。我花了很长时间试图创建一个查询,但没有成功,但幸运的是,这可以使用Vega的转换来实现。

如果要将其均匀装箱,请不要将开始时间用作x值Here is the posted solution(请查看我的答案)。我要添加的一件事是;对于您将";-1";作为完成时间的文档,如果您执行formula transform,则可以将这些时间舍入到结束装箱时间。

但是,如果您仍然希望将";开始";完成&字段作为求和/求值的点,也可以这样做。我将向您简要介绍一下如何做到这一点.

方法:

  1. 您需要做的第一件事是创建两个数据副本,其中包含一个引用";时间戳";的公共字段。第一个数据集将为字段&Quot;Timestamp&Quot;(已启动数据集)分配&Quot;Start&Quot;值,第二个数据集将具有&Quot;Finded&Quot;值(已完成日期集)。您可以使用formula transform实现此目的。

  2. 然后,您将需要在每个数据集中创建名为";operation";的列,该列引用该数据条目的功能-添加用户或删除用户。对于已完成的数据集,您要分配一列"-1"和已启动的数据集"1"。再次使用formula transforms

  3. 然后将这些数据集连接起来。您现在需要按";时间戳";排序,然后将";操作";列累加起来。这可以使用window transform实现。

这应该会为您提供绘制它所需的数据。可以说,这比装箱要准确得多,但是如果您的数据集很大,它可能会产生相当混乱的结果-在这种情况下,装箱要干净得多。

祝你好运,显然有很多东西需要填写,但一个实际的例子需要我花相当长的时间来起草-而且复制的乐趣在哪里。

这篇关于使用定制查询实现Elasticsearch中的可视化的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆