如何在使用logstash导出的时候,包含索引名称和_id

这里,我的需求是,把es中的数据导出到本地文件中,一行一个json。

我还需要把原来数据中的_id保存下来,在新的集群中导入的时候,指定_id。

这里有一个配置文件!

logstash配置文件如下

# Sample Logstash configuration for creating a simple
# Beats -> Logstash -> Elasticsearch pipeline.

input {
  elasticsearch {
    hosts => ["http://192.168.10.10:9200"]
    index => "my_index-000001"
    query => '{ "query": { "query_string": { "query": "*" } } }'
    scroll => "3m"
    size => 100
    # 默认为false 不包含索引元数据。
    docinfo => true
    docinfo_target => "[@metadata][doc]"
  }
}

filter {
    mutate {
        # 把字段添加进去。
        add_field => { "_id" => "%{[@metadata][doc][_id]}" }
    }
}
output {
   file {
    path => "D:\data\file.json"
    # json 每行一条数据。
    codec => json_lines
  }
}

 

你可能感兴趣的:(Elasticsearch,logstash,logstash导出数据,logstash导出json,logstash导出_id)