2017-09-05 38 views
1

我想使用logstash輸入彈性搜索結果創建一個新數組。我想創建一個使用logstash輸入彈性搜索結果的新數組

例如,在以下查詢中搜索結果。

input { 
elasitcsearch{ 
    index => "test" 
    query => "{'query':{'match':{'field1':'testtt'}},'_source':'field2'}" 
} 
} 

結果如下所示。

{ 
'field2':1 
} 
{ 
'field2':2 
} 
{ 
'field2':3 
} 

現在我想將上述對象變成一個新的數組。

這樣的...

field2 = [1,2,3]

這可能嗎?

回答

1

嘗試使用Logstash過濾與聚合插件,是這樣的:

filter { 
    aggregate { 
    task_id => "agregate_field2" 
    code => " 
     map['field2'] ||= [] 
     map['field2'] << event.get('field2') 
     event.cancel() 
    " 
    push_previous_map_as_event => true 
    timeout => 3 
    } 
} 
相關問題