我正在试图弄清楚如何更新我的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"
}
}
还有另一种方法吗?我的数据量很小,所以我现在并不担心性能。
答案 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}"
}