SOLR 4.4 部署

SOLR 4.4 部署

前言:近期研究下solr4.4的部署,一下是部署步驟,與大家分享下。

 

下載solr4.4.0.zip

地址        http://mirror.esocc.com/apache/lucene/solr/4.4.0/solr-4.4.0.zip

apache-solr-dataimportscheduler-1.0.jar (調度重建索引jar)

https://solr-dataimport-scheduler.googlecode.com/files/apache-solr-dataimportscheduler-1.0.jar

準備:能運行tomcat java環境 此次部署 採用     apache-tomcat-6.0.35

開始部署:

     部署solr4.4

 1      解壓solr4.4.0.zip

2       solr-4.4.0\dist\solr-4.4.0.war拷貝到apache-tomcat-6.0.35\webapps下,重命名爲solr    啓動tomcat,啓動成功後停止tomcat,並將solr.war刪除

3       solr-server\solr-4.4.0\dist下的jar拷貝到                apache-tomcat-6.0.35\webapps\solr\WEB-INF\lib

4       solr-server\solr-4.4.0\dist\solrj-lib下的jar拷貝到           apache-tomcat-6.0.35\webapps\solr\WEB-INF\lib

5       solr-server\solr-4.4.0\example\resources\log4j.properties拷貝到                  apache-tomcat-6.0.35\webapps\solr\WEB-INF\lib

6       新建solrhome目錄 solr-server\solr-4.4.0\example\multicore下所有文件夾拷貝至       solrhome,本次將solrhome新建路徑爲D:\solr-server\SolrHome

7       修改apache-tomcat-6.0.35\webapps\solr\WEB-INF\web.xml文件

         解註釋以下內容:

         <env-entry>

      <env-entry-name>solr/home</env-entry-name>

      <env-entry-value>D:\solr-server\SolrHome</env-entry-value>

      <env-entry-type>java.lang.String</env-entry-type>

   </env-entry>

 

     增加dataimport,實現定時更新 (此次以core1爲例)

1       solr-server\SolrHome\core1\conf增加dataimport.properties

         內容爲:

         #FriSep 13 13:36:30 CST 2013

         last_index_time=2013-09-1313\:36\:29

         v_userrecord.last_index_time=2013-09-1313\:36\:29

         次配置文件爲增量更新用,每次更新都是更新last_index_time

         v_userrecord.last_index_time時間後的數據

2       solr-server\SolrHome\core1\conf\solrconfig.xml      加入以下內容

         內容爲:

         <requestHandlername="/dataimport"    class="org.apache.solr.handler.dataimport.DataImportHandler">

             <lst name="defaults">

               <strname="config">db\db-data-config.xml</str>

             </lst>

           </requestHandler>

         作用爲指定dataimport配置文件位置

        

3       根據2步驟的配置爲例 solr-server\SolrHome\core1\conf下增加文件目錄 db

         db下增加文件db-data-config.xml

         內容爲:

         <?xmlversion="1.0" encoding="UTF-8" ?>

         <dataConfig>   <dataSource type="JdbcDataSource"driver="com.mysql.jdbc.Driver"

              url="jdbc:mysql://127.0.0.1:3306/***"user="***"  password="***"  />

          <document name="mytable">

       <entity name="***" transformer="ClobTransformer"

                   query="***"deltaImportQuery="SELECT * FROM ***  where                     id=${dataimporter.delta.id}"deltaQuery="select id from        *** where *** >         '${dataimporter.last_index_time}' OR *** >'${dataimporter.last_index_time}' OR              ***> '${dataimporter.last_index_time}'">

       </entity>

             </document>

         </dataConfig>

         以上配置內容的意思是取最後一次的更新時間然後根據sql查出後更新索引

4       apache-solr-dataimportscheduler-1.0.jar拷貝至

         apache-tomcat-6.0.35\webapps\solr\WEB-INF\lib

          將 mysql-connector-java-5.0.8.jar 拷貝到  apache-tomcat-6.0.35\webapps\solr\WEB-INF\lib

5       solrhome下添加 con文件目錄

         SolrHome\conf\在該文件夾下添加dataimport.properties

         重要配置地方:

         索引重建的間隔     (單位爲分鐘)

         interval=1

         重建索引時的參數(增量更新     執行clean commit   )

         params=/dataimport?command\=delta-import&clean\=false&commit\=true

         索引 webapp名稱

         webapp=solr

         索引名稱

         syncCores=core1

         server名稱

         server=localhost

         端口

         port=8080

         #  重做索引時間間隔的計時開始時間,第一次真正執行的時間  =reBuildIndexBeginTime+reBuildIndexInterval*60*1000

         #  兩種格式:2012-04-1103:10:00或者  03:10:00,後一種會自動補全日期部分爲服務         啓動時的日期

         reBuildIndexBeginTime=03:10:00

        有時候批量增量更新時會出現內存溢出,可以在solrconfig.xml 增增加以下內容

         <autoCommit>
            <maxDocs>10000</maxDocs>
             <maxTime>1000</maxTime>
         </autoCommit>

        也要記得調優tomcat 增加 jvm內存。在catlina.out 文件的最頂部加入以下:

         set JAVA_OPTS=-Xms512m -Xmx1024m -XX:PermSize=256M -XX:MaxPermSize=512m

       配置完成,啓動tomcat後如果索引正常更新,恭喜你完成了。


                                                   

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章