2017-06-16 4 views
0

こんにちは、私は弾力性のある複数のレコードをlogstashで更新することに問題があります。 マイlogstash構成が怒鳴るですlogstashを使って弾力性のある複数のレコードを更新する

output { 
    elasticsearch { 
     hosts => "******" 
     user => "xxxxx" 
     password => "yyyyyy" 
     index => "index_name" 
     document_type => "doc_type" 
     action => "update"   
     script_lang => "painless" 
     script_type => "inline" 
     document_id => "%{Id}" 
     script => 'ctx._source.Tags = params.event.get("Tags");' 
    } 

}

ダンプフォルダをlogstashする私の出力は次のようになります。ここ{"index_name":"feed_name","doc_type":"doc_type","Id":["b504d808-f82d-4eaa-b192-446ec0ba487f", "1bcbc54f-fa7a-4079-90e7-71da527f56a5"],"es_action":"update","Tags": ["tag1","tag2"]}

私の最大の問題 が、私は一度にこれら2 recodsを更新することはできませんよということです異なるIDを持つ2つのレコードを作成する必要があります。

私の出力設定でクエリを書くことでこれを解決する理由はありますか? このようにいろいろ書いを見てしまうSQLで:

Update Table 
SET Tags 
WHERE ID in (guid1, guid2) 

私はこのケースでは、私はlogstashと問題解決に二つのレコードを追加することができます知っているが、私は私は1つを持っているすべてのレコードを交換する必要がある第二の問題を解決する必要がありますtag1とそれにnewTagを与えます。

答えて

0

のイベントID:のイベントでイベントを複製するには、split filterを使用することを検討しましたか?それはフィルタがあなたを助けることができるようです。

関連する問題