Solr定时重建索引和增量更新

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/u013490585/article/details/86596618

新增jar包

新增solr-dataimport-scheduler.jar到所有节点tomcat\webapps\下solr项目的WEB-INF\lib下
下载地址:

为Solr配置监听器

修改所有节点tomcat下的solr的web.xml增加如下配置

  <listener>  
   <listener-class>  
     org.apache.solr.handler.dataimport.scheduler.ApplicationListener  
   </listener-class>  
 </listener>  

新增配置

在solrhome/conf/中新增名为:dataimport.properties 配置文件
如果是solr-cloud则配置其中1个solrhome/conf需要添加dataimport.properties配置文件
配置内容如下:

#################################################
#                                               #
#       dataimport scheduler properties         #
#                                               #
#################################################

#  to sync or not to sync
#  1 - active; anything else - inactive
# 这里的配置不用修改
syncEnabled=1

#  which cores to schedule
#  in a multi-core environment you can decide which cores you want syncronized
#  leave empty or comment it out if using single-core deployment
#  修改成你所使用的core,我这里是我自定义的core:simple
syncCores=collection1

#  solr server name or IP address
#  [defaults to localhost if empty]
#这个一般都是localhost不会变
server=localhost

#  solr server port
#  [defaults to 80 if empty]
#  安装solr的tomcat端口,如果你使用的是默认的端口,就不用改了,否则改成自己的端口就好了
port=8180

#  application name/context
#  [defaults to current ServletContextListener's context (app) name]
#  这里默认不改
webapp=solr

#  URL params [mandatory]
#  remainder of URL
#  这里改成下面的形式,solr同步数据时请求的链接
params=/dataimport?command=delta-import&clean=false&commit=true

#  schedule interval
#  number of minutes between two runs
#  [defaults to 30 if empty]
#这里是设置定时任务的,单位是分钟,也就是多长时间你检测一次数据同步,根据项目需求修改
#  开始测试的时候为了方便看到效果,时间可以设置短一点
interval=60

#  重做索引的时间间隔,单位分钟,默认7200,即5天; 
#  为空,为0,或者注释掉:表示永不重做索引
reBuildIndexInterval=7200

#  重做索引的参数
#reBuildIndexParams=/select?qt=/dataimport&command=full-import&clean=true&commit=true
reBuildIndexParams=/dataimport?command=full-import&clean=true&commit=true

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

重启Solr服务

猜你喜欢

转载自blog.csdn.net/u013490585/article/details/86596618