环境要求

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/

  

 # Default Solr log4j config
# rootLogger log level may be programmatically overridden by -Dsolr.log.level
#solr.log=${solr.log.dir}
solr.log=D:/logs/solr/
log4j.rootLogger=INFO, file, CONSOLE # Console appender will be programmatically disabled when Solr is started with option -Dsolr.log.muteconsole
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.layout=org.apache.log4j.EnhancedPatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss.SSS} %-5p (%t) [%X{collection} %X{shard} %X{replica} %X{core}] %c{.} %m%n #- size rotation with log cleanup.
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.MaxFileSize=10MB
log4j.appender.file.MaxBackupIndex= #- File to log to and log format
log4j.appender.file.File=${solr.log}/solr.log
log4j.appender.file.layout=org.apache.log4j.EnhancedPatternLayout
log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss.SSS} %-5p (%t) [%X{collection} %X{shard} %X{replica} %X{core}] %c{.} %m%n # Adjust logging levels that should differ from root logger
log4j.logger.org.apache.zookeeper=WARN
log4j.logger.org.apache.hadoop=WARN
log4j.logger.org.eclipse.jetty=WARN
log4j.logger.org.eclipse.jetty.server.Server=INFO
log4j.logger.org.eclipse.jetty.server.ServerConnector=INFO # set to INFO to enable infostream log messages
log4j.logger.org.apache.solr.update.LoggingInfoStream=OFF
  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服务器数据在插入会调用分词进行索引,查询的时候调用分词进行查询

Solr6+IKAnalyzer分词环境搭建的更多相关文章

  1. 搜索引擎Solr系列(一): Solr6.2.1环境搭建

     一:Solr简介 Solr是一个独立的企业级搜索应用服务器,它对外提供类似于Web-service的API接口.用户可以通过http请求,向搜索引擎服务器提交一定格式的XML文件,生成索引:也可以通 ...

  2. solr 6.2.1环境搭建

    一:Solr简介 Solr是一个独立的企业级搜索应用服务器,它对外提供类似于Web-service的API接口.用户可以通过http请求,向搜索引擎服务器提交一定格式的XML文件,生成索引:也可以通过 ...

  3. Solr7.2.1环境搭建和配置ik中文分词器

    solr7.2.1环境搭建和配置ik中文分词器 安装环境:Jdk 1.8. windows 10 安装包准备: solr 各种版本集合下载:http://archive.apache.org/dist ...

  4. Solr6.0环境搭建

    感谢TTTTTTTTT丶的分享. 转载地址: 点击打开链接 准备工作: 目前最新版本6.0.下载solr 6.0:Solr6.0下载 JDK8 下载jdk1.8:jdk1.8[solr6.0是基于jd ...

  5. [精华]Hadoop,HBase分布式集群和solr环境搭建

    1. 机器准备(这里做測试用,目的准备5台CentOS的linux系统) 1.1 准备了2台机器,安装win7系统(64位) 两台windows物理主机: 192.168.131.44 adminis ...

  6. Nutch1.7学习笔记:基本环境搭建及使用

    Nutch1.7学习笔记:基本环境搭建及使用 作者:雨水,时间:2013-10-31博客地址:http://blog.csdn.net/gobitan 说明:Nutch有两个主版本1.x和2.x,它们 ...

  7. Hadoop之环境搭建

    初学Hadoop之环境搭建   阅读目录 1.安装CentOS7 2.安装JDK1.7.0 3.安装Hadoop2.6.0 4.SSH无密码登陆 本文仅作为学习笔记,供大家初学Hadoop时学习参考. ...

  8. jdk、tomcat、solr环境搭建

    环境概述 1)操作系统:windows7旗舰版(64位) 2)jdk:jdk-8u131-windows-x64: 3)tomcat:apache-tomcat-9.0.0.M21 4)solr:so ...

  9. Elasticsearch简单使用和环境搭建

    Elasticsearch简单使用和环境搭建 1 Elasticsearch简介 Elasticsearch是一个可用于构建搜索应用的成品软件,它最早由Shay Bannon创建并于2010年2月发布 ...

随机推荐

  1. centos7升级最新内核

    由于最近在测试ceph 的straw2算法,但是要使用straw2需要最新为4.1.0的内核,因此决定将虚机内核升级最新4.11.4. 步骤1.检查本机内核版本 #uname -sr 3.10.0-5 ...

  2. bzoj3569

    线性基 非常高端 强制在线动态图 我们先搞出一个dfs树,然后所有非树边都和树边形成一个环.我们考虑什么情况会不连通,当且仅当树边和dfs序大于当前点的返祖边都被断掉才不连通,那么我们给每个非树边赋一 ...

  3. Ubuntu 安装indicator-sysmonitor

    之前就像安装一个软件用来查看Ubuntu的CPU, 内存, 网速情况, 终于让我碰到了--indicator-sysmonitor 仅需三条命令, 你值得拥有: sudo add-apt-reposi ...

  4. nodejs 循环的陷阱

    Node.js 的异步机制由事件和回调函数实现,一开始接触可能会感觉违反常规,但习惯 以后就会发现还是很简单的.然而这之中其实暗藏了不少陷阱,一个很容易遇到的问题就是 循环中的回调函数,初学者经常容易 ...

  5. codevs-1203

    1203 判断浮点数是否相等 题目描述 Description 给出两个浮点数,请你判断这两个浮点数是否相等   输入描述 Input Description 输入仅一行,包含两个浮点数   输出描述 ...

  6. http://www.cnblogs.com/dasenglin/p/5821987.html

    一安装maven 先安装jdk,配置JAVA_HOME 把下载的maven bin包,解压到指定目录,比如:D:\apache-maven-3.3.9-bin 配置maven的系统变量M2_HOME和 ...

  7. 安全运维之关于个人ip定位与网站监控的分析

    场景:   后台:有人盗刷我的短信接口.小偷偷我手机.无良黑客黑我网站   前台:发个欺骗链接或者说我在网上举报谁谁谁附带一个跳转url获取对方ip.......   How to solve:   ...

  8. UVa 12661 Funny Car Racing (dijkstra)

    题意:给定一个有向图,每条路有5个整数修饰,u, v, a, b, t,表示起点为u,终点为v,打开时间a,关闭时间为b,通过时间为t,打开关闭是交替进行的, 问你从s到t最短时间是多少. 析:使用d ...

  9. 聊聊Java里常用的并发集合

    前言 在我们的程序开发过程中,如果涉及到多线程环境,那么对于集合框架的使用就必须更加谨慎了,因为大部分的集合类在不施加额外控制的情况下直接在并发环境中直接使用可能会出现数据不一致的问题,所以为了解决这 ...

  10. TP5之页面跳转样式

    1.效果图 2.上干货 为了增加对移动设备的支持,在  /application/common.php加入以下函数: function isMobile() { if (isset ($_SERVER ...