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 命令