0
我想从mysql数据库获取结果集,然后转换为json,然后使用弹性搜索API进行索引。使用弹性搜索索引mysql记录
谷歌和发现,使用logstash我可以直接索引数据到弹性搜索,搜索了很多,但dint找到任何示例代码如何通过Java代码做到这一点。
我不确定哪个是最好的方法(使用logstash或将结果集转换为json,然后通过elasticsearch执行索引)。
任何示例代码/链接将非常有帮助。
我想从mysql数据库获取结果集,然后转换为json,然后使用弹性搜索API进行索引。使用弹性搜索索引mysql记录
谷歌和发现,使用logstash我可以直接索引数据到弹性搜索,搜索了很多,但dint找到任何示例代码如何通过Java代码做到这一点。
我不确定哪个是最好的方法(使用logstash或将结果集转换为json,然后通过elasticsearch执行索引)。
任何示例代码/链接将非常有帮助。
如果你愿意使用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。希望能帮助到你!
我愿意使用logstash,但不知道如何使用上面的conf文件与我的java代码集成... – Anand
终于使用ans从http://stackoverflow.com/questions/35504385/run-logstash-in -java程序 – Anand