繁体   English   中英

用弹性搜索索引mysql记录

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM