solr配置定時更新索引和增量更新(linux)

solr庫定時向綁定的數據庫查詢 及時更新solr本身庫中的數據(其實就是配置個定時器同樣的東西)!!!java

Solr官方提供了很強大的Data Import Request Handler,同時提供了一個簡單的 Scheduler, 
示例中的 Scheduler 只支持增量更新,不支持按期重作索引,因此本身封裝,增長重作索引的定時器.web

 1. 將 apache-solr-dataimportscheduler-1.0.jar 和solr自帶的 apache-solr-dataimporthandler-.jar, apache-solr-dataimporthandler-extras-.jar 放到solr.war的lib目錄下面 數據庫

(連接:http://pan.baidu.com/s/1bpCogLD 密碼:ri0u)apache


   2.修改solr.war中WEB-INF/web.xml, (apache-tomcat-7.0.72\webapps\solr\WEB-INF目錄下的web.xml文件)在servlet節點前面增長監聽配置:瀏覽器

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

舒適提示:tomcat

   複製上面這段時注意org.apache.solr.handler.dataimport.scheduler.ApplicationListener後面不要有空格,否則啓動tomcat會有奇怪的錯誤,app

 3.將apache-solr-dataimportscheduler-.jar 中 dataimport.properties 取出並根據實際狀況修改,而後在\solrhome目錄下新建一個conf文件夾(與simple文件夾同目錄),將dataimport.properties文件放在conf文件夾中。webapp

#################################################
#                                               #
#       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=simple
 
#  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]
#這裏是設置定時任務的,單位是分鐘,也就是多長時間你檢測一次數據同步,根據項目需求修改
#  開始測試的時候爲了方便看到效果,時間能夠設置短一點
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

4.重啓tomcat,瀏覽器訪問:localhost:8080/solr\ide

而後更改數據庫數據!!!!根據本身的時間查看!  就會發現solr頁面的數據也會跟着改變!!!!!!!測試

到這個時候,就恭喜你.你已經完工了!!!!!!

相關文章
相關標籤/搜索