2016-11-21 85 views
0

今天我開始研究Elastic Search,在我上一個項目中我已經完成了Solr中的搜索,並且我從mysql導入數據,這很簡單。ElasticSearch從mysql導入數據

現在我必須在彈性搜索中做同樣的工作,併成功地完成了我已經開始按照"https://github.com/jprante/elasticsearch-jdbc#quick-links"工作的設置,但出現錯誤。

java.lang.IllegalStateException:從不受支持的版本收到的消息:[2.0.0]最小的兼容版本:5.0.0]

我使用彈性搜索5.0.0版,並使用"wget http://xbib.org/repository/org/xbib/elasticsearch/importer/elasticsearch-jdbc/2.3.4.0/elasticsearch-jdbc-2.3.4.0-dist.zip"這是最大可用版本。

請對此建議。

+0

根據提供的鏈接,在那裏給定矩陣,你可以只使用進口至2.3.4,其中ES版本,您正在使用最新的。 – Kulasangar

+0

@Kulasangar所以如何在5.0.0中做到這一點。 –

+0

只要你想從你的mysql數據庫中導入數據到ES中的索引? – Kulasangar

回答

1

您可以在logstash配置中使用jdbc插件,以便將數據上傳到您的索引,然後確保您可以根據需要添加調度程序來更新它。

logstash配置看起來是這樣的:

input { 
    jdbc { 
    jdbc_driver_library => "/mysql-connector-java-5.1.39-bin.jar" 
    jdbc_driver_class => "com.mysql.jdbc.Driver" 
    jdbc_connection_string => "jdbc:mysql://localhost:3306/database_name" 
    jdbc_user => "root" 
    jdbc_password => "password" 
    schedule => "* * * * *" 
    statement => "select * from table1" 
    type => "table1" 
    } 
} 
output { 
    elasticsearch { 
     index => "testdb" 
     document_type => "%{type}" # <- use the type from each input 
     hosts => "localhost:9200" 
    } 
}