我有一个数据表可视化,显示来自具有电子邮件地址和ID的文档中的字段:
timestamp | email | field_id
Feb 5th jdoe@gmail.com xyz123
这些字段属于同一弹性文档。但是,我还有其他文档,其中包含有关此唯一ID的额外信息,并且可以将它们显示为自己的表:
timestamp | field_id | key1 | key2 | key3
Feb 6th xyz123 val1 val2 val3
您可以看到第一个表中的行,第二个表中的行具有相同的field_id。我想知道的是,是否可以显示带有Kibana和/或弹性查询的合并行:
field_id | email | key1 | key2 | key3
xyz123 jdoe@gmail.com val1 val2 val3
这在某种程度上等效于SQL中关系数据库的联接。如果在Kibana中不可能做到这一点,也许有一种方法可以通过使用带有Elastic的json输入的查询来间接实现此目标,并执行一种应用程序侧联接?
似乎您尝试将对关系数据库的了解与无SQL数据库(例如Elasticsearch(ES))一起使用。您有几种选择。
选项1。将所有信息保存到同一文档中。如果在索引初始文档后获得更多数据,只需使用额外的键进行更新。如果不同的文档具有不同的架构(也称为键集),则对于ES来说不是问题。同样,在查询ES时,如果您担心ES的请求/响应的大小,则可以指定要检索的字段。
选项2。您可以types
对不同的id / email文档和id /
keys文档使用不同的名称,但要始终将它们存储在相同的文件中index
。然后,您可以创建一个仪表板并放置几个可视化对象:a)可以选择的数据表id
;b)通过单击显示所有email
s的电子邮件可视化(一旦您id
在可视化a中选择一个),您的Kibana将立即为您显示给定文档的电子邮件id
c)按键可视化将显示所有keys
(再次)当您选择id
或时email
,此可视化效果将更新为仅显示与所选内容相关的键)
选项#3。与上述相同,但您可以使用不同indices
而不是不同的types
。只要这些索引具有公共前缀(例如docs-email
和docs- keys
),您就可以在kibana中使用其前缀来从不同索引中检索数据
选项#4。您在问题中描述的应用程序级连接。ES对它存储的所有数据提供REST
API。您始终可以从中检索所需内容并建立客户端联接(这使您感到奇怪,为什么选择ES作为存储数据而不是关系数据库的后端)
我对Elasticsearch有一个自定义查询: 当浏览邮递员时,会得出以下结果(不完整): 问题是,现在我想想象一下基巴纳的这些桶。我们的目标是显示24个条形图,每个条形图都有各自的doc_计数。 但是,如果我将查询放入搜索栏,我会得到错误: 。 进入可视化选项卡,添加聚合类型“日期直方图”、字段“开始时间”(这是我的日期字段)、间隔自动和以下json的x点: 还生成一个错误:
嗨,我是ELK堆栈的新手。我使用Kibana4.1。我已经设法使用Elasticsearch查询DSL在Kibana的发现界面中运行搜索来捕获数据集,然后使用保存的搜索在Kibana中创建一个新的可视化和仪表板小部件。我的Elasticsearch查询看起来像 -this将捕获用户:joe的任何登录事件。如果我想搜索用户的登录事件:苏,我必须更改上面查询查询的这部分,使其看起来像 我被要求查看是否
由多线程应用程序生成的下列形状的日志记录被推送到我的弹性搜索索引'Log': 这两个十六进制条目是进程和线程ID。
问题内容: 条件:请勿修改原始清单;仅JDK,无外部库。一线或JDK 1.3版本的加分点。 有没有比以下更简单的方法: 问题答案: 你可以使用Apache commons-collections库:
问题内容: 我有一个带有包含文本的列的表,并且我想选择所有表,其中第二个表中某一行的文本出现在该行中。这是一个伪查询: 但是,以上查询不起作用。如何正确执行此操作? 问题答案: 您不能使用运算符连接字符串(仅用于算术运算)。使用代替。
我想把两个音频文件合并成一个新文件。我尝试使用MP4parser库,它会导致一些问题,使用SquenceInputStream组合两个音频文件,它会增加音频文件的大小,但只播放初始歌曲。 参考:https://stackoverflow.com/a/43650758/8775993 与StackOverflow答案核对无任何效果。 请提出解决方案。提前谢谢。