2016-12-28 50 views
0

我想從mysql數據庫獲取結果集,然後轉換爲json,然後使用彈性搜索API進行索引。使用彈性搜索索引mysql記錄

谷歌和發現,使用logstash我可以直接索引數據到彈性搜索,搜索了很多,但dint找到任何示例代碼如何通過Java代碼做到這一點。

我不確定哪個是最好的方法(使用logstash或將結果集轉換爲json,然後通過elasticsearch執行索引)。

任何示例代碼/鏈接將非常有幫助。

回答

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。希望能幫助到你!

+0

我願意使用logstash,但不知道如何使用上面的conf文件與我的java代碼集成... – Anand

+0

終於使用ans從http://stackoverflow.com/questions/35504385/run-logstash-in -java程序 – Anand