# solr_dih_scheduler 5.5.3 **Repository Path**: dearbaba/solr_dih_scheduler-5.5.3 ## Basic Information - **Project Name**: solr_dih_scheduler 5.5.3 - **Description**: Solr 5.5.3 DIH工具定时调度任务 - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2017-03-13 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: search-engine **Tags**: None ## README # **Solr Data Import Hander Scheduler For 5.5.3 说明:** **Solr官方提供了很强大的Data Import Request Handler,同时提供了一个简单的 Scheduler,Url:http://wiki.apache.org/solr/DataImportHandler** ** 示例中的 Scheduler 只支持增量更新,不支持定期重做索引,因此我做了一个简单的封装,增加了重做索引的定时器.** **(原定时器作者是:Marko Bonaci, 在此表示感谢!)The original Scheduling source by Marko Bonaci, Thank him!** * 项目原路径:[https://code.google.com/p/solr-dataimport-scheduler/](https://code.google.com/p/solr-dataimport-scheduler/) * 本项目针对Solr可能从某一个时间点开始,并设置按照间隔时间来执行。项目已经控制不管设置的时间是否超过当前时间,都会在配置的时间点上加一天然后再进行调度。这样保证任务提交后就马上执行。您可以修改我的源码满足您的需求。 *** *** # 使用说明 * 将 dist/solr-dih-scheduler-5.5.3 和 solr自带的 apache-solr-dataimporthandler-5.5.3.jar, apache-solr-dataimporthandler-extras-5.5.3.jar 放到solr.war的lib目录下面 * 修改solr.war中WEB-INF/web.xml, 在servlet节点前面增加: > > > org.apache.solr.handler.dataimport.scheduler.ApplicationListener > > * 将 dataimport.properties 取出并根据实际情况修改,然后放到 solr.home/server/solr/conf (如果您没有设置solr.home的话) 目录下面 * 重新启动solr 5.5.3 *** *** # dataimport.properties 配置项说明 ``` ################################################# # # # dataimport scheduler properties # # # ################################################# #Solr的IP地址 #如果为空, 则设置为localhost server=localhost #Solr的端口 #如果没有设置则为80端口 port=8983 #Solr发布的上下文地址 #[defaults to current ServletContextListener's context (app) name] webapp=solr ######################################增量索引的配置参数########################################## #是否需要进行增量索引 1为需要 0或其它值为不需要 delta.enabled=1 #哪些core需要进行定期增量索引 delta.cores=coreName1,coreName2 #哪些entity需要进行定期增量索引 也支持entity[0-5] 这种格式 delta.entity.coreName1=entity0,entity1,entity2,entity3,entity4,entity5 delta.entity.coreName2=entity[0-5] #调用参数 delta.params=command=delta-import&clean=false&commit=true&optimize=true #调度间隔 单位为秒 默认不设置为30秒 delta.interval=864000 #增量索引的开始时间 #新版本一定是在将来执行,而非马上执行 delta.beginTime=00:10:00 ######################################增量索引的配置参数########################################## ######################################全量索引的配置参数########################################## #是否需要进行全量索引 1为需要 0或其它值为不需要 full.enabled=1 #哪些core需要进行全量增量索引 full.cores=coreName1,coreName2 #哪些entity需要进行全量索引 也支持entity[0-5] 这种格式 full.entity.coreName1=entity0,entity1,entity2,entity3,entity4,entity5 full.entity.coreName2=entity[0-5] #重做索引的参数 full.params=command=full-import&clean=true&commit=true&optimize=true #重做索引的时间间隔 #为空,为0,或者注释掉:表示永不重做索引 full.interval=86400 #重做索引时间间隔的计时开始时间 00:10:00 一定是第二天的00:10:00开始执行,然后按照间隔时间来执行 full.beginTime=00:10:00 ######################################全量索引的配置参数########################################## ######################################删除索引的配置参数########################################## #是否需要进行删除索引的操作 1 需要 0或者其他值为不需要 remove.enabled=1 #需要删除索引的core remove.cores=coreName1,coreName2 #对应的删除条件 比如说删掉100天以前的数据 remove.query.coreName1=update_time:[* TO NOW/DAY-100DAY] #对应的删除条件 remove.query.coreName2=update_time:[* TO NOW/DAY-100DAY] #删除索引的参数 remove.params=commit=true&optimize=true #删除的间隔时间 remove.interval=86400 #删除索引的开始时间 remove.beginTime=00:00:00 ######################################删除索引的配置参数########################################## ######################################优化索引的配置参数########################################## #是否需要进行优化索引的操作 1 需要 0或者其他值为不需要 op.enabled=1 #需要优化索引的core remove.cores=coreName1,coreName2 #优化索引的参数 remove.params=commit=true&optimize=true&waitFlush=true&wt=json #优化的间隔时间 remove.interval=86400 #优化索引的开始时间 remove.beginTime=05:45:00 ######################################删除索引的配置参数########################################## ``` * 2017-03-13: 实现可以控制增量和全量定时开启,core配置,entity配置,时间间隔,开始时间等等单独配置 * 2017-03-14: 实现定时删除索引的功能,并优化代码实现代码和配置的灵活性。 * 2017-04-06 实现定时优化索引的功能 optimized