[英]Add fields to Logstash Twitter input and Elasticsearch output
我正在使用logstash將twitter流保存到elasticsearch。 在保存之前,我想
但我一直無法做到! Logstash配置文件:
input {
twitter {
oauth_token => ""
oauth_token_secret => ""
consumer_key => ""
consumer_secret => ""
full_tweet => true
keywords => ["test"]
}
}
filter {
ruby {
code => "
if !event['retweeted_status'].nil?
event['tweet_type'] = 'Retweet'
elsif !event['in_reply_to_screen_name'].nil?
event['tweet_type'] = 'Reply'
else
event['tweet_type'] = 'Organic'
end
"
}
}
output {
elasticsearch {
document_id => [id]
index_type => "twitter"
protocol => "http"
bind_host => "127.0.0.1"
}
}
我究竟做錯了什么?
您不需要使用ruby來測試字段。 嘗試:
if [retweeted_status] {
mutate {
add_field => { "tweet_type", "Retweet" }
}
}
(注意:這是偽代碼;我可能有{s和=>錯誤)。
至於使用文檔ID,請嘗試:
document_id => "%{id}"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.