solr 数据同步,全量、增量方式
DIH全量同步(全表数据)(一般做第一次数据同步)
首先创建对应的数据库表
solr配置
将solr现有数据清空
cd /usr/local/solr/example/solr/collection1/data && rm -rf * && mkdir index && mkdir tlog
添加数据源配置(@)
vim /usr/local/solr/example/solr/collection1/conf/solrconfig.xml
添加配置信息:
data-config.xml
在同目录下创建data-config.xml文件,并添加源信息(@)
vim /usr/local/solr/example/solr/collection1/conf/data-config.xml
添加配置如下:
添加数据同步所需依赖jar到tomcat中solr
cd /usr/local/solr/dist && cp solr-dataimporthandler-4.10.3.jar solr-dataimporthandler-extras-4.10.3.jar /usr/local/tomcat/webapps/solr/WEB-INF/lib/
同时把mysql驱动添加到/usr/local/tomcat/webapps/solr/WEB-INF/lib/中
将需要同步的数据库表字段添加到schema.xml中,如果已存在,则无需
进行数据库访问授权操作,如果已授权则略过
GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY '123456' WITH GRANT OPTION; flush privileges;
时间同步,mysql数据源服务器时间跟solr服务器时间一致
date -s "2016-04-17 21:15:00" 设置时间 mysql数据源服务器时间一定大于等于solr服务器时间,否则solr检测不到mysql时间变化了(认为是旧数据,增量同步来说)
启动tomcat即可。
浏览器访问http://ip:port/solr,点击Dataimport,Command选择full-import,Entity选择要同步的表,Custom Parameters输入data-config.xml中需要的参数(${dataimport.request.id}),点击Execute执行即可。
solr-HID全量.png
DIH增量同步(新增数据)(常用模式)
只需要