【问题标题】:indexing mysql records with elastic search使用弹性搜索索引 mysql 记录
【发布时间】:2017-05-12 16:09:45
【问题描述】:

我正在尝试从 mysql db 获取结果集,然后转换为 json,然后使用弹性搜索 api 进行索引。

google 了,发现使用logstash我可以直接将数据索引到弹性搜索,搜索了很多,但是没有找到任何示例代码如何通过java代码做到这一点。

我不确定哪种方法是最好的选择(使用 logstash 进行索引或将结果集转换为 json,然后通过 elasticsearch 进行索引)。

任何示例代码/链接都会非常有帮助。

【问题讨论】:

    标签: java elasticsearch logstash


    【解决方案1】:

    如果您愿意使用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。希望能帮助到你!

    【讨论】:

    猜你喜欢
    • 2012-05-07
    • 2016-11-05
    • 2012-11-29
    • 1970-01-01
    • 2016-10-24
    相关资源
    最近更新 更多