solr配置自動增量更新
阿新 • • 發佈:2019-01-07
<span style="font-family: inherit; font-size: 18px; font-style: inherit; background-color: transparent;">自動增量更新可定時將資料庫中的資料匯入到solr索引庫中,並可定時重建索引庫,合併小索引檔案為大的索引檔案。</span>
下面介紹如何配置solr自動更新。
需要準備的jar包
solr自帶:
apache-solr-dataimporthandler-.jar,
apache-solr-dataimporthandler-extras-.jar
用於定時更新和重做索引的的jar:
apache-solr-dataimportscheduler-1.0.jar
下載地址:
百度雲:
帶原始碼:http://pan.baidu.com/s/1qWlSK0W
不帶原始碼
:http://pan.baidu.com/s/1c0in1By
配置過程:
將這三個jar包放到solr.war的lib目錄下面。
修改修改solr.war中WEB-INF/web.xml
<listener> <listener-class> org.apache.solr.handler.dataimport.scheduler.ApplicationListener </listener-class> </listener>
將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
以上配置完成後,即可重啟伺服器。至此自動更新配置完成。