在ES

时间:2016-07-28 19:25:28

标签: elasticsearch logstash

这是我的问题。我有以下具有Int类型的列。

1)DurationA

2)DurationB

3)持续时间C = DurationB-DurationA

DurationA和DurationB值来自不同的CSV文件,我通过Logstash

加载到ES

问题

1)无论如何,我在处理CSV文件时可以创建列DurationC并在ES中保存值吗?

2)如果不可能,我应该在ES Query中使用什么功能来获得所需的结果(DurationB-DurationA)

由于

2 个答案:

答案 0 :(得分:0)

您可以将ruby过滤器用作:

filter {
  ruby {
    code => "event['Duration C'] = event['Duration B'].to_f - event['Duration A'].to_f"
  }
}

答案 1 :(得分:0)

ruby过滤器是一个选项,但是有一个非核心插件是为数学计算而构建的:https://github.com/robin13/logstash-filter-math

您可以在此处找到一些指南:http://www.rubydoc.info/gems/logstash-filter-math/LogStash/Filters/Math