# 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