我正在尝试从mysql db获取结果集,然后转换为json,然后使用弹性搜索API进行索引。
谷歌发现使用logstash我可以直接将数据索引到弹性搜索,搜索了很多但是dint通过java代码找到任何示例代码如何做到这一点。我不确定哪种方法最好(使用logstash索引或将结果集转换为json,然后通过elasticsearch进行索引)。
任何示例代码/链接都非常有用。
答案 0 :(得分:2)
如果您愿意使用logstash
进行此操作,则可能必须使用jdbc输入插件,您可以在其中从MySQL
数据库中提取数据并将其编入索引你的elasticsearch
个实例。
input {
jdbc {
jdbc_connection_string => "jdbc:mysql://yourhost:3306/yourdb"
jdbc_user => "root"
jdbc_password => "root"
jdbc_validate_connection => true
jdbc_driver_library => "/pathtojar/mysql-connector-java-5.1.39-bin.jar"
jdbc_driver_class => "com.mysql.jdbc.Driver"
schedule => "* * * * *" <-- if you need the query to be running continuously at a time span
statement => "SELECT * FROM yourtable" <-- change the query to your need
jdbc_paging_enabled => "true"
jdbc_page_size => "50000"
}
}
以上只是一个示例,因此您可以根据需要重现它。我不确定哪种方式更好,是将它转换为json
还是使用logstash
明确索引它。您可能想要查看此thread。希望能帮助到你!