solr定時實時重建索引和增量更新——sxt
阿新 • • 發佈:2019-02-16
定時實時重建索引和增量更新
Solr Data Import Handler Scheduler說明:
- 將
apache-solr-dataimportscheduler-1.0.jar
和solr自帶的apache-solr-dataimporthandler-.jar
,apache-solr-dataimporthandler-extras-.jar
放到solr.war
的lib
目錄下面
2.修改solr.war
中WEB-INF/web.xml
, 在servlet
節點前面增加:
<listener>
<listener-class>
org.apache .solr.handler.dataimport.scheduler.ApplicationListener
</listener-class>
</listener>
3.將apache-solr-dataimportscheduler-.jar
中 dataimport.properties
取出並根據實際情況修改,然後放到 solr.home/conf (不是solr.home/core/conf)
目錄下面
4.重啟tomcat或者jboss 即可
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 server port
# [defaults to 80 if empty]
port=8080
# 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
# schedule interval
# number of minutes between two runs
# [defaults to 30 if empty]
interval=1
# 重做索引的時間間隔,單位分鐘,預設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全量索引、增量索引、定時索引的文章。
修復bug,重新打包後的jar下載:
dataimport.properties.zip解壓到tomcat的solr.xml裡配置的solr/home路徑,裡面含有conf資料夾及dataimport.properties。
原jar下載: