solr全量导入/增量导入mysql的数据

原帖链接:http://iamyida.iteye.com/blog/2210621

一、预备工作
本机没有msyql服务先yum装下
yum list installed | grep mysql
若有自带安装的mysql,卸载CentOS系统自带mysql数据库
yum -y remove mysql-libs.x86_64
查看yum库上的mysql版本信息(CentOS系统需要正常连接网络)。
yum list | grep mysql 或 yum -y list mysql*
使用yum安装mysql数据库。
yum -y install mysql-server mysql mysql-devel
启动mysql
service mysqld start

yum装好mysql后root账户是没有密码,给root设置密码(123456)
mysql -uroot -p
显示输入密码时回车进入mysql
mysql > use mysql;
mysql > update user set password=PASSWORD('123456') where user='root';
mysql > flush privileges;
mysql > exit;
再连接mysql
mysql -uroot -p123456

建测试表
CREATE TABLE `students` (
  `id` int(5) unsigned NOT NULL AUTO_INCREMENT,
  `username` varchar(40) DEFAULT NULL,
  `usertype` int(1) DEFAULT '1' COMMENT '1=程序,2=产品,3=前端',
  `last_update_time` datetime DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;


添加点数据
INSERT INTO `students` VALUES ('1', 'wang jing jie', '1', '2015-12-29 16:42:39');
INSERT INTO `students` VALUES ('2', 'linchen', '1', '2015-12-29 16:42:39');
INSERT INTO `students` VALUES ('3', 'wang qi jun', '1', '2015-12-29 16:42:39');
INSERT INTO `students` VALUES ('4', 'deng ya li', '1', '2015-12-29 16:42:39');
INSERT INTO `students` VALUES ('5', 'du ya li', '2', '2015-12-29 16:42:39');
INSERT INTO `students` VALUES ('6', 'guo qiang ', '1', '2015-12-29 16:42:39');
INSERT INTO `students` VALUES ('7', 'gao yuan', '2', '2015-12-29 16:42:39');
INSERT INTO `students` VALUES ('8', 'tan zhi', '3', '2015-12-29 16:42:39');
INSERT INTO `students` VALUES ('9', 'tian ya', '3', '2015-12-29 16:42:39');
INSERT INTO `students` VALUES ('10', 'yang hao ', '4', '2015-12-29 16:42:39');
INSERT INTO `students` VALUES ('11', 'wu zhi zhong', '1', '2015-12-29 16:42:39');
INSERT INTO `students` VALUES ('12', 'wang xian xian', '2', '2015-12-29 16:48:10');

退出mysql


二、全量导入
# 复制导入用jar包

cp src/solr-5.1.0/dist/solr-dataimporthandler-5.1.0.jar tomcat/webapps/solr/WEB-INF/lib/

cp src/solr-5.1.0/dist/solr-dataimporthandler-extras-5.1.0.jar tomcat/webapps/solr/WEB-INF/lib/

# 复制mysql数据库驱动jar包(需另从网上找)
cp src/mysql-connector-java-5.1.22-bin.jar tomcat/webapps/solr/WEB-INF/lib/

# 开启导入数据功能(原来被solr禁用的)
vim solr_home/core1/conf/solrconfig.xml
添加内容

  
      data-config.xml
  
 
# 复制一份配置文件到core1/conf下
cp src/solr-5.1.0/example/example-DIH/solr/solr/conf/solr-data-config.xml solr_home/core1/conf/data-config.xml

# 修改data-config.xml
vim solr_home/core1/conf/data-config.xml
修改内容
 

  
  
    
      
      
      
    
  


# 修改schema.xml添加field
vim solr_home/core1/conf/schema.xml
添加内容



# 复制3个html文件(没复制的话测试时候会报缺这三个文件的错,这里先复制了)
cp src/solr-5.1.0/example/example-DIH/solr/solr/conf/admin-extra.html src/solr-5.1.0/example/example-DIH/solr/solr/conf/admin-extra.menu-bottom.html   src/solr-5.1.0/example/example-DIH/solr/solr/conf/admin-extra.menu-top.html  solr_home/core1/conf/

OK后重启tomcat,浏览器里选择core1,选择Dataimport,Command选择full-import,Entity选择students即可进行导入

solr全量导入/增量导入mysql的数据_第1张图片




三、增量索引
students表的last_update_time字段(timestamp类型,默认值CURRENT_TIMESTAMP)作为标识。
给students表添加几条测试数据(演示略)。

# 修改solrconfig.xml,新增个requestHandler
vim solr_home/core1/conf/solrconfig.xml

添加内容


  
    delta-data-config.xml
  


# 新增并编辑delta-data-config.xml
vim solr_home/core1/conf/delta-data-config.xml

添加内容


  
  
    
      
      
      
      
    
  

# schema.xml里也要添加last_update_time的field
vim solr_home/core1/conf/schema.xml
添加内容


重启tomcat,进入后台

solr全量导入/增量导入mysql的数据_第2张图片

你可能感兴趣的:(solr)