使用 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进行如下操作