数据从A集群,使用logstash迁移到B集群,如何保持_Id一致

有时候,我们在跨集群数据同步的时候,需要保持_id一致。这里给出一个案例。

这里直接给出一个配置文件

 input {
      elasticsearch {
        hosts => "es.production.mysite.org"
        index => "mydata-2018.09.*"
        query => '{ "query": { "query_string": { "query": "*" } } }'
        size => 500
        scroll => "5m"
        # 默认为false,代表了是否获取元信息,包含索引名称_index,索引类型_type,和索引id _id
        docinfo => true
        docinfo_target => "[@metadata][doc]"
      }
    }
    output {
      elasticsearch {
        # 这里可以修改索引名称,可以取到原来的索引名称
        #index => "copy-of-production.%{[@metadata][doc][_index]}"
        # 索引名称保持一致
        index => "%{[@metadata][doc][_index]}"
        document_type => "%{[@metadata][doc][_type]}"
        document_id => "%{[@metadata][doc][_id]}"
      }
    }

你可能感兴趣的:(Elasticsearch,logstash,logstash,如何取_id)