2018-11-09 Solr5.6.5服务器导入Mysql数据
[TOC]
1. 添加jar包:分别是solr连接数据库jar包和数据库驱动包
进入 solr-5.5.5\dist 目录下
- 复制 solr-dataimporthandler-5.5.5.jar, solr-dataimporthandler-extras-5.5.5.jar 到 apache-tomcat-8.5.35\webapps\solr\WEB-INF\lib 目录下
- 复制mysql驱动包mysql-connector-java-5.1.44.jar到apache-tomcat-8.5.35\webapps\solr\WEB-INF\lib 目录下
2. 数据库表结构
DROP TABLE IF EXISTS `account`;
CREATE TABLE `account` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`money` double DEFAULT NULL,
`name` varchar(255) DEFAULT NULL,
`description` varchar(255) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8;
/*Data for the table `account` */
insert into `account`(`id`,`money`,`name`,`description`) values (1,100,'张三','我是中国人'),(2,200,'李四','我爱我的中国'),(3,300,'王老五','我是台湾人');
3. solrCore配置数据库
进入E:\solrHome\solrCore\conf下
3.1 新建data-config.xml文件,输入如下内容:
<?xml version="1.0" encoding="UTF-8" ?>
<dataConfig>
<dataSource type="JdbcDataSource"
driver="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/ssm"
user="root"
password="root"/>
<document>
<entity name="account" query="SELECT * FROM account">
<field column="id" name="id"/>
<field column="name" name="name"/>
<field column="money" name="money"/>
<field column="description" name="description"/>
</entity>
</document>
</dataConfig>
field区域中:column表示对应数据库中的列,name表示solr中显示的名称。
3.2 配置solrconfig.xml,添加如下内容:
<requestHandlername="/dataimport"class="org.apache.solr.handler.dataimport.DataImportHandler">
<lst name="defaults">
<strname="config">data-config.xml</str>
</lst>
</requestHandler>
3.3 managed-schema配置新增领域:
<field name="name" type="string" indexed="true" stored="true"/>
<field name="money" type="string" indexed="true" stored="true"/>
<field name="description" type="text_ik" indexed="true" stored="true"/>
3.4 重启Tomcat,查看配置:
点击Execute按钮:出现如下绿色提示,表示导入数据成功