Solr之定时重建索引-yellowcong

来源:互联网 发布:下载排卵期测算软件 编辑:程序博客网 时间:2024/05/26 05:51

定时更新solr的索引,通过interval 来设定的是多长事件建立索引。同时需要注意的是dataimport.properties的配置文件目录。(测试的最简单方法,是将索引全部删除,然后就会自动将索引建立好了)

jar包(solr-dataimportscheduler)下载地址

http://yellowcong.qiniudn.com/solr-dataimportscheduler-1.1.jar

环境搭建

1. 导入依赖包

将 apache-solr-dataimportscheduler-1.0.jar(这个是自己找的,不是自带的) 和solr自带的 apache-solr-dataimporthandler-.jar, apache-solr-dataimporthandler-extras-.jar 放到solr.war的lib目录下面

这里写图片描述

2. 配置WEB-INF/web.xml

我直接配置在了web.xml最后面了

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

这里写图片描述

3.新建文件:dataimport.properties

syncCores 修改为自己需要同步的core , 这个地方,最重要的是注意目录是/usr/local/solr/solr-4.10.3/example/solr/conf,而不是collection1里面的conf

这里写图片描述

##################################################                                               ##       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=core1,core2syncCores=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=8080#  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]#这里是设置定时任务的,单位是分钟,也就是多长时间你检测一次数据同步,根据项目需求修改#  开始测试的时候为了方便看到效果,时间可以设置短一点# 每隔1 分钟更新一次索引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

这里写图片描述

错误合集

找不到dataimport.properties 文件

ERROR - 2017-12-05 16:42:17.686; org.apache.solr.handler.dataimport.scheduler.SolrDataImportProperties; Error locating DataImportScheduler dataimport.properties file  java.io.FileNotFoundException: /usr/local/solr/solr-4.10.3/example/solr/conf/dataimport.properties (没有那个文件或目录)

这里写图片描述

#创建目录mkdir - p  /usr/local/solr/solr-4.10.3/example/solr/conf#创建文件vim dataimport.properties

这里写图片描述

参考文章

https://wiki.apache.org/solr/DataImportHandler
http://blog.csdn.net/zwx19921215/article/details/43152307