zoukankan      html  css  js  c++  java
  • Solr6+IKAnalyzer分词环境搭建

    环境要求

    Zookeeper版本:zookeeper-3.4.8

    JDK版本: jdk1.8.

    Solr版本:solr-6.4.1

    Tomcat版本:tomcat8

    ZK地址:127.0.0.1:2181(如果是zk集群的话,多个配置之间使用逗号分隔)

    应用部署

    已经打包Tomcat压缩文件<apache-tomcat-8.5.11-solr.zip>

     百度云下载:链接:http://pan.baidu.com/s/1qX9sN28 密码:du9x

    如上附件打包过程:

    1. 将solr-6.4.1serversolr-webappwebapp下面的所有文件复制到tomcat/webapps/solr/目录下
    2. 将 solr-6.4.1serverlib下面所有的*.jar 复制到tomcat/webapps/solr/WEB-INF/lib/目录下
    3. 将 solr-6.4.1serverlibext下面所有的*.jar 复制到tomcat/webapps/solr/WEB-INF/lib/目录下
    4. 将 solr-6.4.1serversolr 下的所有文件复制到tomcat/solrhome/目录下

    配置修改

    1. 增加tomcat/bin/catalina.sh中的JAVA_HOME和zk的配置

    JAVA_OPTS="-DzkHost=127.0.0.1:2181"

    JAVA_HOME="C:/DevTool/jdk1.8.0_92/"

    1. 修改tomcat/solrhome/solr.xml中的hostPort为tomcat的访问端口(例如tomcat访问端口为10100,那么修改配置如下)

      <int name="hostPort">10100</int>

    1. 修改tomcat/webapps/solr/WEB-INFO/web.xml修改solr/home的值(改目录为打包过程第四部的solrhome目录),例如:

      <env-entry>

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

        <env-entry-value>C:UsersSilverDesktopapache-tomcat-8.5.11-10100solrhome</env-entry-value>

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

       </env-entry>

    1. 设置日志输出

      tomcat/webapps/solr/WEB-INF/classes/目录下增加log4j.properties文件 ,并更改solr.log=D:/logs/solr/

       

     1 # Default Solr log4j config
     2 # rootLogger log level may be programmatically overridden by -Dsolr.log.level
     3 #solr.log=${solr.log.dir}
     4 solr.log=D:/logs/solr/
     5 log4j.rootLogger=INFO, file, CONSOLE
     6 
     7 # Console appender will be programmatically disabled when Solr is started with option -Dsolr.log.muteconsole
     8 log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
     9 log4j.appender.CONSOLE.layout=org.apache.log4j.EnhancedPatternLayout
    10 log4j.appender.CONSOLE.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss.SSS} %-5p (%t) [%X{collection} %X{shard} %X{replica} %X{core}] %c{1.} %m%n
    11 
    12 #- size rotation with log cleanup.
    13 log4j.appender.file=org.apache.log4j.RollingFileAppender
    14 log4j.appender.file.MaxFileSize=10MB
    15 log4j.appender.file.MaxBackupIndex=9
    16 
    17 #- File to log to and log format
    18 log4j.appender.file.File=${solr.log}/solr.log
    19 log4j.appender.file.layout=org.apache.log4j.EnhancedPatternLayout
    20 log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss.SSS} %-5p (%t) [%X{collection} %X{shard} %X{replica} %X{core}] %c{1.} %m%n
    21 
    22 # Adjust logging levels that should differ from root logger
    23 log4j.logger.org.apache.zookeeper=WARN
    24 log4j.logger.org.apache.hadoop=WARN
    25 log4j.logger.org.eclipse.jetty=WARN
    26 log4j.logger.org.eclipse.jetty.server.Server=INFO
    27 log4j.logger.org.eclipse.jetty.server.ServerConnector=INFO
    28 
    29 # set to INFO to enable infostream log messages
    30 log4j.logger.org.apache.solr.update.LoggingInfoStream=OFF
    View Code
    1. 启动tomcat

    登录tomcat进行查看搭建情况

    http://127.0.0.1:10100/solr/index.html

    可能遇到的问题

    1. ClassNotFund -- com.codahale.metrics.MetricSet  

    -- solr-6.4.1serverlib除了jetty之外的jar包都放到 tomcat/webapps/solr/WEB-INFO/lib/下

    1. HTTP Status 403 - Access to the requested resource has been denied

    -- 注释掉tomcat/webapps/solr/WEB-INFO/web.xml中的所有<security-constraint>标签

    1. Xid out of order. Got Xid 52 with err 0 expected Xid 51 for a packet with details: clientPath:null serverPath:null finished:false header:: 51,14

    -- 升级zookeeper版本为3.4.8

    1. UnsupportedClassVersionError: org/apache/solr/servlet/SolrDispatchFilter : Unsupported major.minor version 52.0

    -- Solr工程需要JDK8以上,因此需要设置JAVA_HOME为JDK8

    设置分词(IKAnalyzer分词)

    Git下载源码工程:https://github.com/cj96248/ik-analyzer-solr6.git

             将工程打包出JAR包,并且放在tomcat/webapps/solr/WEB-INF/lib/目录下

             配置参考:

             http://www.tuicool.com/articles/faYFBzA

            

    原理:在字段上面进行了分词处理,solr服务器数据在插入会调用分词进行索引,查询的时候调用分词进行查询

  • 相关阅读:
    Codeforces Round #365 (Div. 2) D
    Codeforces Round #414 C. Naming Company
    Codeforces Round #365 (Div. 2) B
    LA 6893 The Big Painting(矩阵Hash)
    Gym100783C Golf Bot(FFT)
    POJ 2481 Cows(树状数组)
    POJ 2352 Stars
    POJ 2299 Ultra-QuickSort(树状数组+离散化)
    LightOJ 1341 Aladdin and the Flying Carpet(唯一分解定理)
    LightOJ 1356 Prime Independence(质因数分解+最大独立集+Hopcroft-Carp)
  • 原文地址:https://www.cnblogs.com/loveyou/p/6537985.html
Copyright © 2011-2022 走看看