[英]indexing mysql records with elastic search
我试图从mysql db获取结果集,然后转换为json,然后使用弹性搜索api进行索引。
谷歌做了,发现使用logstash我可以直接索引数据以进行弹性搜索,进行了很多搜索,但直接找到了任何示例代码如何通过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
对其进行logstash
。 您可能想看看这个线程 。 希望能帮助到你!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.