使用logstash更新elasticsearch索引

时间:2017-11-27 09:55:43

标签: elasticsearch logstash

我正在试图弄清楚如何更新我的Elasticsearch索引。我能做的最好的事情就是建立一个scrit,我删除de old Index然后再用新数据创建它。

curl -XDELETE localhost:9200/myindex

//CALL FILE WITH THIS CONFIGURATION
input {
jdbc {
    jdbc_connection_string => "jdbc:mysql://localhost:3306/respuestas_ws"
    jdbc_user => "xxx"
    jdbc_password => "xxx"
    jdbc_driver_library => "mysql-connector-java-5.1.44\mysql-connector-java-5.1.44-bin.jar"
    jdbc_driver_class => "com.mysql.jdbc.Driver"
    statement => "SELECT * FROM xxx"
}
}
output {
    elasticsearch {
        index => "myindex"
        document_type => "data"
        hosts => "localhost"
    }
}

还有另一种方法吗?我的数据量很小,所以我现在并不担心性能。

2 个答案:

答案 0 :(得分:0)

也许您可以重新索引索引,请按以下步骤操作:https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-reindex.html

答案 1 :(得分:0)

如果您的文档具有唯一ID,则elasticsearch将使用新数据更新您的文档。例如,如果您的表具有my_id列,则可以将其用作输出中的document_id,如下所示:



    elasticsearch {
            index => "myindex"
            document_type => "data"
            hosts => "localhost"
            document_id => "%{my_id}"
    }