solr配置自动增量更新

自动增量更新可定时将数据库中的数据导入到solr索引库中,并可定时重建索引库,合并小索引文件为大的索引文件。

下面介绍如何配置solr自动更新。

需要准备的jar包

solr自带:

 apache-solr-dataimporthandler-.jar, apache-solr-dataimporthandler-extras-.jar 

用于定时更新和重做索引的的jar:

apache-solr-dataimportscheduler-1.0.jar 

下载地址:

官网:http://code.google.com/p/solr-dataimport-scheduler/downloads/list

百度云:

带源码:http://pan.baidu.com/s/1qWlSK0W

不带源码 :http://pan.baidu.com/s/1c0in1By

配置过程:

将这三个jar包放到solr.war的lib目录下面。

修改修改solr.war中WEB-INF/web.xml

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

将apache-solr-dataimportscheduler-.jar 中 dataimport.properties 取出并根据实际情况修改,然后放到 solr.home/conf (不是solr.home/core/conf) 目录下面。

我用的是solr5.2.1,内部用的jetty容器,那么配置文件需要放到:solr-5.2.1/server/solr/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
syncCores=core1,core2

#  solr server name or IP address
#  [defaults to localhost if empty]
server=localhost          //solr服务器的ip地址

#  solr server port
#  [defaults to 80 if empty]
port=8080                //solr服务器的端口号

#  application name/context
#  [defaults to current ServletContextListener's context (app) name]
webapp=solr

#  URL params [mandatory]
#  remainder of URL
#params=/dataimport?command=delta-import&clean=false&commit=true           //增量更新的请求地址
params=/deltaimport?command=delta-import&clean=false&commit=true//这里要写成deltaimport,我用的时solr5.2.1用上面的不好使。。。


#  schedule interval
#  number of minutes between two runs
#  [defaults to 30 if empty]
interval=1                 //自动增量更新的时间间隔,单位为分钟,默认为30分。

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

#  重做索引的参数
reBuildIndexParams=/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)