solr 的 data import 導入 mysql數據java
(1)、編輯 example/solr/conf/solrconfig.xml 添加 request handler
<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">
<lst name="defaults">
<str name="config">data-config.xml</str>
</lst>
</requestHandler>
(2)、建立 example/solr/conf/data-config.xml
<dataConfig>
<dataSource type="JdbcDataSource"
driver="com.mysql.jdbc.Driver"
url="jdbc:mysql://192.168.2.242:3306/demo?characterEncoding=UTF-8"
user="demo"
password="*****"/>
<document>
<entity name="contract"
query="select id,contract_name,contract_num,add_time from contract">
<field column = "id" name="contractId"/> mysql
<field column = "contract_name" name = "contractName" />web
<field column = "contract_num" name="contractNum" />
</entity>
</document>
</dataConfig>
(3)、編輯example/solr/conf/scheme.xml
在fields裏頭添加
<field name="contractNum" type="string" indexed="true" stored="true"/>sql
<field name="contractId" type="string" indexed="true" stored="true"/>apache
<field name="contractName" type="string" indexed="true" stored="true"/>
(同時將uniqueKey改成contractId,而且將id字段的required爲true去掉)bootstrap
(4)、啓動solr,報Error loading class 'org.apache.solr.handler.dataimport.DataImportHandler'
添加相關data import lib 及 jdbc driver lib
~/solr-4.6.0/example/solr-webapp/webapp/WEB-INF/lib# cp ~/solr-4.6.0/dist/*.jar .app
使用同一個zookeeper的solr也得進行相關jar的拷貝webapp
(5)啓動solrui
java -Dbootstrap_conf=true -Dcollection.configName=scs -DzkRun -DnumShards=1 -jar start.jarurl
java -DzkHost=192.168.4.129:9983 -jar start.jar
(6)執行full import 命令