使用 dataimport插件批量导入数据。
一、导包
将下面Solr文件夹下dist文件夹下的这连个jar包放到solr\solr_home\mycore\lib下
将所需数据库驱动包(MySQL等)放入上述目录(solr\solr_home\mycore\lib)
二、配置solrconfig.xml
文件在solr\solr_home\mycore\conf下
1.添加一个requestHandler
- <!-- 配置批量导入处理器 -->
- <admin>
- <defaultQuery>*:*</defaultQuery>
- </admin>
- <requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">
- <lst name="defaults">
- <str name="config">data-config.xml</str>
- </lst>
- </requestHandler>
2.在与solrconfig.xml同级目录下创建一个data-config.xml(与requestHandler中的data-config.xml同名)
3.在data-config.xml中添加如下代码
- <?xml version="1.0" encoding="UTF-8" ?>
- <dataConfig>
- <!-- 配置数据源 -->
- <!-- url中最后要加上serverTimezone=UTC否则发送请求的时候会乱码 -->
- <dataSource driver="com.mysql.jdbc.Driver"
- url="jdbc:mysql://localhost:3306/mybatis?serverTimezone=UTC"
- user="root"
- password="admin"/>
- <document>
- <!-- query中写SQL语句 -->
- <entity name="items" query="select id, name, price, detail from items">
- <!-- column对应数据库中的列名,name为对应的域名(在scheme中没有的话需要配置,即设置业务系统域),
- 这是一个映射关系 -->
- <field column="id" name="id"/>
- <field column="name" name="items_name"/>
- <field column="price" name="items_price"/>
- <field column="detail" name="items_detail"/>
- </entity>
- </document>
- </dataConfig>
4.打开managed-scheme添加域
添加如下代码
- <!-- 配置items需要的域 -->
- <field name="items_name" type="text_ik" indexed="true" stored="true"/>
- <field name="items_price" type="pdouble" indexed="true" stored="true"/>
- <field name="items_detail" type="text_ik" indexed="true" stored="false"/>
- <field name="items_keywords" type="text_ik" indexed="true" stored="false" multiValued="true"/>
- <copyField source="items_name" dest="items_keywords" />
- <copyField source="items_detail" dest="items_keywords" />
5.开启tomcat,访问http://localhost:8080/solr/index.html进行如下操作