荒淫来到狗窝

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.1\server\solr-webapp\webapp下面的所有文件复制到tomcat/webapps/solr/目录下
  2. 将 solr-6.4.1\server\lib\下面所有的*.jar 复制到tomcat/webapps/solr/WEB-INF/lib/目录下
  3. 将 solr-6.4.1\server\lib\ext\下面所有的*.jar 复制到tomcat/webapps/solr/WEB-INF/lib/目录下
  4. 将 solr-6.4.1\server\solr 下的所有文件复制到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:\Users\Silver\Desktop\apache-tomcat-8.5.11-10100\solrhome</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.1\server\lib\除了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服务器数据在插入会调用分词进行索引,查询的时候调用分词进行查询

 

posted @ 2017-03-12 15:11  月·漩涡  阅读(440)  评论(0编辑  收藏  举报

荒淫来到狗窝