Solr dataimport 功能

(solr-7.1.0  jetty方式)java

從MySQL導入數據至solr索引中mysql

一、 managed-schema文件,索引字段設置sql

<field name="id" type="string" docValues="false" indexed="true" stored="true" required="true"/>
<field name="name" type="string" docValues="false" indexed="true" stored="true"/>
<field name="course_Id" type="plong" docValues="false" indexed="true" stored="true"/>
<field name="author" type="string" docValues="false" indexed="true" stored="true"/>

二、 solrconfig.xml文件設置,導入相關jar包,及配置requestHandler 數據庫

須要注意的是mysql-connector-java-5.1.26.jar需自行下載apache

<lib dir="${solr.install.dir:../../../..}/contrib/dataimporthandler-extras/lib" regex=".*\.jar" />
<lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-dataimporthandler-.*\.jar" />
<lib dir="${solr.install.dir:../../../..}/server/lib" regex="mysql-connector-java-5.1.26.jar"/>

data-config.xml爲自定義名稱的配置文件,需上傳至zookeeper中ui

<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">
    <lst name="defaults">
        <str name="config">data-config.xml</str>
    </lst>
</requestHandler>

data-config.xmlurl

 field 中的column對應數據庫的一個字段,name對應managed-schema中的namecode

<dataConfig>
    <dataSource name="jdbcDataSource" type="JdbcDataSource" 
    driver="com.mysql.jdbc.Driver"
    url="jdbc:mysql://xxxxxx:3306/mooc_subject?useUnicode=true&amp;characterEncoding=utf8&amp;rewriteBatchedStatements=true" 
    user="xxxxx" password="xxxx"/>
    <document>
        <entity dataSource="jdbcDataSource" name="mooc_subject" query="select * from mooc_subject" >
                <field column="id" name="id"></field>
                <field column="name" name="name"></field>
                <field column="course_Id" name="course_Id"></field>
                <field column="author" name="author"></field>
        </entity>
    </document>
  </dataConfig>

打開solrcloud頁面選擇dataimportserver

Command 選擇 Full-Import(Full-Import 會先清空在導入,data-import則是根據配置修改指定數據)xml

Entity 選擇 配置文件中預先定義的

而後執行便可,出現下圖提示,表示成功。

在Query頁查詢,顯示確實導入了531353條記錄

相關文章
相關標籤/搜索