栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Solr连接MySQL数据库实现 全量更新、增量更新、定时增量更新

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Solr连接MySQL数据库实现 全量更新、增量更新、定时增量更新

安装部署、中文分词、域创建等内容请看上一篇

Windows部署Solr全文检索+中文分词_会飞的哈士奇的博客-CSDN博客_solr 文件检索

增量更新

打开你的自定义的域(我的叫shopCore) 下的conf文件夹, 编辑data-config.xml文件

路径为 : solr-8.10.1serversolrshopCoreconfdata-config.xml

query  全部数据
deltaImportQuery  更新数据
deltaQuery  需要更新的数据(只能返回ID)
deletedPkQuery  需要删除的数据(只能返回ID)

${dataimporter.last_index_time} 为内部变量 (最后一次更新索引的时间)

${dih.delta.goods_id} 为内部变量(索引数据对象)

gmt_modified(自己定义的修改或新增时候的时间记录) 、is_delete(数据的伪删除状态字段)



	
	
		 '${dataimporter.last_index_time}' AND is_delete = 0" 
			deletedPkQuery = "SELECT goods_id FROM svc_shop_goods WHERe is_delete = '1'" >
				
				
                
		
	

因为Solr的时区是中时区,而我的系统是东八区,因此在时间比较的时候我将自己数据库的数据小时减去了8小时

增量更新的执行顺序说明

 定时增量更新

下载定时增量更新jar包

下载地址 : Solr定时更新Solr定时更新-Java文档类资源-CSDN下载

1. 将jar包放入solr-8.10.1serversolr-webappwebappWEB-INFlib路径下

2. 修改solr-8.10.1serversolr-webappwebappWEB-INFweb.xml的配置

	  
			    
					org.apache.solr.handler.dataimport.scheduler.ApplicationListener  
			    
	

在 solr-8.10.1serversolr下手动创建conf文件夹, 将dataimport.properties(定时执行的配置文件)放入此文件夹下

配置文件中内容如下
#################################################
#                                               #
#       dataimport scheduler properties         #
#                                               #
#################################################
 
#  同步开关 1:同步
syncEnabled=1
 
#  要同步的核心,多个用逗号隔开
syncCores=shopCore
 
#  Solr服务器的域名或者IP地址
#  如果为空则走localhost
server=localhost
 
#  Solr服务端口
#  如果为空则走80端口
port=8983
 
#  application name/context
#  [defaults to current ServletContextListener's context (app) name]
webapp=solr
 
# URL参数[必需]
# URL的剩余部分 
params=/dataimport?command=delta-import&clean=false&commit=true

# 计划时间间隔
# 两次运行之间的分钟数
# [如果为空,则默认为30] 
interval=1
 
#  重做索引的时间间隔,单位分钟,默认7200,即5天; 
#  为空,为0,或者注释掉:表示永不重做索引
reBuildIndexInterval=7200
 
#  重做索引的参数
reBuildIndexParams=/select?qt=/dataimport&command=full-import&clean=true&commit=true

#  重做索引时间间隔的计时开始时间,第一次真正执行的时间=reBuildIndexBeginTime+reBuildIndexInterval*60*1000;
#  两种格式:2012-04-11 03:10:00 或者  03:10:00,后一种会自动补全日期部分为服务启动时的日期
reBuildIndexBeginTime=03:10:00

 启动 : ./solr.cmd start

 关闭 : ./solr.cmd stop -all

重启Solr进行测试一下

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/861029.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号