Elastic

时间:2019-07-02 21:10:25

标签: elasticsearch kibana

我正在通过Filebeats将CSV数据导入Elasic。因此,CSV中的每一行都会创建一条记录。搜索特定记录很容易,但是我想基于多个记录进行条件搜索,和/或可视化数据。

数据看起来像(非常简化的格式):

Record 1: a=1, b=1, c=1
Record 2: a=1, b=2, c=2
Record 3: a=1, b=1, c=2
Record 4: a=1, b=1, c=1
Record 5: a=2, b=2, c=2
Record 6: a=3, b=1, c=2
Record 7: a=3, b=1, c=1

(存在成千上万个这样的记录,其中包含成千上万个不同的“ a”变量)

基本上我想在以下位置编写查询:

If any record exists where a=1 and c=1 (if no match, stop here)
(Then search every record where a=1)
Where a=1 display every record where b=2
And here is the catch, if c=1, b can never equal 2 (technical impossibility). 
And I only care if b=2 if c=1 for any possible record where a matches.
Then I want to repeat that query where a=all possible unique values.

因此,在c = 1的搜索将永远不会在b = 2的情况下产生记录。 在许多数据集中,b等于200次,其中c = 2。

我尝试使用过滤器,json查询等对它进行可视化,但运气不好。 我能想到的唯一一件事,是非常不愉快的事-根据字典在数据中添加一个“ d”字段,该字段将标记每个“ a”实例的每个记录。 我已经尝试了可视化的表格功能,但是也无法适当地过滤掉数据。

搜索c = 1和b = 2会得出零结果。

在c等于1的情况下搜索c = 2将永远不会产生结果,因此会提供过多的结果,而不会过滤掉数据。

搜索b = 2(其中c = 1或c = 2)会产生所有结果,并且无法正确过滤它们。

我相信我需要一个if嵌套在if中并且找不到咸味的答案。

0 个答案:

没有答案