第一步:导入相关包:
将相关包放到 [solr的根目录]/server/solr-webapp/webapp/WEB-INF/lib/目录下。(注:可以从Solr源码包的dist文件夹中拷贝两个solr-dataimporthandler包,以及一个mysql驱动包,没有请自行下载)。
第二步:编辑 solrconfig.xml文件
在文件末尾添加以下内容
<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler"> <lst name="defaults"> <str name="config">data-config.xml</str> </lst> </requestHandler>
(注:在 [solr的根目录]/server/solr/mycore1/conf/ 目录下,其中mycore1为自己所创建的核心文件夹):
然后再 编辑 这个目录下的data-config.xml文件(没有则创建):
<?xml version="1.0" encoding="UTF-8" ?>
<dataConfig>
<!-- 数据库信息 -->
<dataSource type="JdbcDataSource"
driver="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/college_service"
user="root" password="mysql"/>
<document>
<!-- document实体 -->
<entity name="news" query="SELECT * FROM news">
<!-- 数据库字段映射solr字段 -->
<field column="news_id" name="id"/>
<field column="news_authorid" name="newsAuthorid"/>
<field column="news_title" name="newsTitle"/>
<field column="news_cover" name="newsCover"/>
<field column="news_time" name="newsTime"/>
<field column="news_browse" name="newsBrowse"/>
<field column="news_schoolid" name="newsSchoolid"/>
<field column="news_categoryid" name="newsCategoryid"/>
<field column="news_abstract" name="newsAbstract"/>
<field column="news_content" name="newsContent"/>
</entity>
</document>
</dataConfig>
三:在当前路径的managed-schema文件中加入相应的字段类型映射
<!--自定义的域-->
<field name="newsAuthorid" type="string" indexed="true" stored="true"/>
<field name="newsTitle" type="string" indexed="true" stored="true" />
<field name="newsCover" type="string" indexed="false" stored="true" />
<field name="newsTime" type="pdate" indexed="false" stored="true" />
<field name="newsBrowse" type="pint" indexed="false" stored="true" />
<field name="newsSchoolid" type="string" indexed="false" stored="true"/>
<field name="newsCategoryid" type="string" indexed="false" stored="true" />
<field name="newsAbstract" type="text_ik" indexed="true" stored="true" />
<field name="newsContent" type="text_general" indexed="false" stored="true" />
四、登陆http://localhost:8983/solr/,进行导入数据
进入以下模块,执行excute就导入数据了,可以勾选Auto-Refresh Status 刷新实时导入状况
