Elasticsearch + Logstash:如何在导入时基于现有数据添加字段

时间:2018-06-03 13:07:50

标签: elasticsearch logstash kibana

目前,我通过logstash将数据导入Elastic,此时通过读取csv文件。

现在让我们说csv,age和weight中有两个数字字段。 我需要动态添加第3个字段,通过对年龄,重量和其他外部数据(或函数结果)进行数学计算;我需要在导入数据时创建第3个字段。

有什么办法可以吗? 什么是最好的做法?

1 个答案:

答案 0 :(得分:1)

在所有Logstash过滤器部分中,您可以通过Dim sfd As SaveFileDialog = New SaveFileDialog() sfd.Filter = "Texte (*.txt)|*.txt|RTF (*.rtf)|*.rtf|Tous (*.*)|*.*" sfd.Title = "Enregistrer un fichier" sfd.DefaultExt = "txt" If sfd.ShowDialog() = Windows.Forms.DialogResult.OK Then Dim Filter As Integer = sfd.FilterIndex Dim FileFormat As RichTextBoxStreamType Select Case Filter Case 1 FileFormat = RichTextBoxStreamType.PlainText Case 2 FileFormat = RichTextBoxStreamType.RichText Case Else FileFormat = RichTextBoxStreamType.UnicodePlainText End Select Dim FileName As String = sfd.FileName RichTextBox1.SaveFile(FileName, FileFormat) End If 添加字段,但这通常是静态数据。

Math calculations need a separate plugin

如前所述,ruby过滤器插件可能是您的最佳选择。以下是管道的示例代码段

add_field

或者,在Kibana中,有Scripted fields意图可视化,但无法查询