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进行测试一下



