MySQL和Elasticsearch是两种不同的数据库,如何将MySQL的数据写入Elasticsearch呢?本文将介绍一种方法:使用Logstash。
1. 为Logstash安装MySQL插件:
bin/logstash-plugin install logstash-input-jdbc
2. 配置Logstash文件:
input {
jdbc {
jdbc_connection_string =>"jdbc:mysql://localhost:3306/testdb"
jdbc_user =>"user"
jdbc_password =>"password"
jdbc_driver_library =>"/path/to/mysql-connector-java.jar"
jdbc_driver_class =>"com.mysql.jdbc.Driver"
statement =>"SELECT * FROM mytable"
}
}
output {
elasticsearch {
hosts =>["localhost:9200"]
index =>"myindex"
document_type =>"mytype"
document_id =>"%{id}"
}
}
3. 启动Logstash并等待数据从MySQL中流入Elasticsearch:
bin/logstash -f config.conf
以上就是将MySQL的数据写入Elasticsearch的方法。如果需要更新数据,可以编写update语句替换SELECT语句。另外,要注意Logstash和Elasticsearch的版本兼容性。