2017-08-03 125 views
2

我想從我的MySQL數據庫導入數據到elasticsearch與logstash。我已經能夠導入自定義查詢結果,但是我缺少可以定義由logstash創建的索引的映射/設置的位置。另外,我不知道如何用一對多關係導入數據。從mysql導入數據到elasticsearch使用logstash

這是迄今爲止我logstash.conf:

input { 
jdbc { 
    jdbc_connection_string => "jdbc:mysql://localhost:3306/shop" 
    jdbc_user => "root" 
    jdbc_password => "" 
    jdbc_driver_library => "C:\Users\curUser\Desktop\mysql-connector-java-5.1.42\mysql-connector-java-5.1.42-bin.jar" 
    jdbc_driver_class => "com.mysql.jdbc.Driver" 

    statement => "SELECT * FROM variants var" 
    } 
} 

output { 
elasticsearch { 
    hosts => "localhost:9200" 
    index => "search" 
    document_type => "variants" 
    document_id => "%{id}" 
    } 
} 

注:我想用logstash只是將數據導入elasticsearch。這是一個網上商店,所以我不得不使用一些分析儀上的字段

回答

0

我已經瀏覽了LogStash的ES插件的文檔 - 不知道這是否可能。

但是,您可以在運行LogStash之前設置索引映射。您可以通過將索引映射與捲曲這樣做,也許有與LogStash

執行該HTTP請求

https://www.elastic.co/guide/en/elasticsearch/reference/current/mapping.htmlhttps://www.elastic.co/guide/en/logstash/current/plugins-outputs-elasticsearch.html

+0

我已經閱讀文檔,並得出了相同的結果的方式。如果是這樣,我知道如何將curl的索引映射,但嵌套字段呢?你有什麼主意嗎?簡單的 「內連接」 不工作 – RoyRobsen

+0

那麼你可以使用像' 過濾器{ 發生變異{ 更名=> { 「columnToNest」=> 「[1級] [級別2]」}} } ' – aclokay

相關問題