• [置顶] 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.0distsolr-4.4.0.war拷贝到apache-tomcat-6.0.35webapps下,重命名为solr    启动tomcat,启动成功后停止tomcat,并将solr.war删除

    3       solr-serversolr-4.4.0dist下的jar拷贝到                apache-tomcat-6.0.35webappssolrWEB-INFlib

    4       solr-serversolr-4.4.0distsolrj-lib下的jar拷贝到           apache-tomcat-6.0.35webappssolrWEB-INFlib

    5       solr-serversolr-4.4.0example esourceslog4j.properties拷贝到                  apache-tomcat-6.0.35webappssolrWEB-INFlib

    6       新建solrhome目录 solr-serversolr-4.4.0examplemulticore下所有文件夹拷贝至       solrhome,本次将solrhome新建路径为D:solr-serverSolrHome

    7       修改apache-tomcat-6.0.35webappssolrWEB-INFweb.xml文件

             解注释以下内容:

             <env-entry>

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

          <env-entry-value>D:solr-serverSolrHome</env-entry-value>

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

       </env-entry>

     

         增加dataimport,实现定时更新 (此次以core1为例)

    1       solr-serverSolrHomecore1conf增加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-serverSolrHomecore1confsolrconfig.xml      加入以下内容

             内容为:

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

                 <lst name="defaults">

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

                 </lst>

               </requestHandler>

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

            

    3       根据2步骤的配置为例 solr-serverSolrHomecore1conf下增加文件目录 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.35webappssolrWEB-INFlib

              将 mysql-connector-java-5.0.8.jar 拷贝到  apache-tomcat-6.0.35webappssolrWEB-INFlib

    5       solrhome下添加 con文件目录

             SolrHomeconf在该文件夹下添加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后如果索引正常更新,恭喜你完成了。

            如有问题,请联系 qq 931434891

                                                       

  • 相关阅读:
    #Laravel笔记# 使用SMTP发送邮件功能
    #Laravel笔记# 监听事件
    idea 常见问题
    python常见函数汇总
    双DNN排序模型:在线知识蒸馏在爱奇艺推荐的实践
    机器学习算法GBDT
    Hive表数据同步到es
    目标检测资料
    zeppelin的介绍与使用
    Java汉字获取拼音、笔划、偏旁部首
  • 原文地址:https://www.cnblogs.com/james1207/p/3320023.html
Copyright © 2020-2023  润新知