Lucene/Solr搜索引擎开发笔记 - 第2章 Solr安装与部署(Tomcat篇)
一、安装环境

图1-1 Tomcat和Solr的版本
我本机目前使用的Java版本为JDK 1.8,因为Solr 4.9要求Java版本为1.7+,请注意。
二、Solr部署到Tomcat流程

图1-2 Tomcat安装目录
1、如图1-2所示,为Tomcat的解压目录;

图1-3 Tomcat首页
2、在目录E:\apache-tomcat-8.0.9\bin中,找到startup.bat文件,双击该文件,启动Tomcat服务器,等待几秒钟后,在浏览器中输入http://localhost:8080/,如果服务器启动正常的话,则会出现如图1-3所示的界面;
3、在E:\apache-tomcat-8.0.9\conf\server.xml中,找到<Connector>标签,在该标签尾端添加URIEncoding="UTF-8",目的为解决中文搜索乱码,如下代码所示:
connectionTimeout="20000" redirectPort
="8443" URIEncoding="UTF-8"/>

图1-4 solr-4.9.1.war复制粘贴到当前目录,改名为solr.war

图1-5 Tomcat的webapps目录
4、将目录E:\solr-4.9.1\dist中的solr.war文件,复制到E:\apache-tomcat-8.0.9\webapps中,因为我们之前已经启动的Tomcat服务器,所以solr.war会自动解压出solr文件夹,如上图1-5所示;


图1-6 关键文件复制
5、关闭Tomcat服务器(也就是关闭startup.bat启动的那个命令行界面),E:\apache-tomcat-8.0.9\webapps目录下新建文件夹solr_home,然后将E:\solr-4.9.1\example\solr中的文件夹collection1和solr.xml复制到E:\apache-tomcat-8.0.9\webapps\solr_home目录中;


图1-7 配置文件修改solr_home
6、打开文件E:\apache-tomcat-8.0.9\webapps\solr\WEB-INF\web.xml,找到<env-entry>标签,修改代码部分如上图1-7所示;


图1-8 static firstSearcher warming in solrconfig.xml ---> *.*
7、打开E:\apache-tomcat-8.0.9\webapps\solr_home\collection1\conf\solrconfig.xml,将<listener event="firstSearcher" class="solr.QuerySenderListener">标签下内容按图1-8修改;

图1-9 关键目录的复制
8、将E:\solr-4.9.1中的contrib文件夹和dist文件夹复制到E:\apache-tomcat-8.0.9中;

图1-10 配置Solr日志模块
9、将E:\solr-4.9.1\example\lib\ext下的5个jar包复制到E:\apache-tomcat-8.0.9\webapps\solr\WEB-INF\lib中;


图1-11 配置日志输出路径到Tomcat的logs文件夹
10、在E:\apache-tomcat-8.0.9\webapps\solr\WEB-INF文件夹中新建classes文件夹,复制E:\solr-4.9.1\example\resources\log4j.properties文件到classes文件夹中,修改log4j.properties文件,将“log4j.appender.file.File”的值修改为“../logs/solr.log”;

图1-12 Solr在Tomcat中运行成功
11、删除E:\apache-tomcat-8.0.9\webapps文件夹下的solr.war文件,重启Tomcat,在浏览器中输入http://localhost:8080/solr,出现上图1-12所示界面,则表明Solr在Tomcat中已经配置成功;
三、本章总结
通过上一篇文章《Lucene/Solr搜索引擎开发系列 - 第1章 Solr安装与部署(Jetty篇)》,我们知道,Jetty服务器是Solr的默认服务器,只需要将Solr解压缩,启动Jetty服务器,在浏览器中输入http://localhost:8983/solr/就可以运行Solr后台。
为何我们要如此费劲的将Solr配置到Tomcat中呢?原因有以下几点:
1、经过多年的发展,一般企业都使用Tomcat作为开发和部署环境;
2、程序员们对Tomcat的熟悉度,比Jetty要高很多,当Tomcat出现问题,也容易解决;
3、大部分Java Web开发视频,都是基于Tomcat来进行开发讲解,传播范围广;
转载须知:
请尊重本人知识产权和劳动成果,本文可自由转载,请注明出处:
博客网址:http://www.cnblogs.com/zs8861/
联系邮箱:117711668@qq.com
欢迎交流!
Lucene/Solr搜索引擎开发笔记 - 第2章 Solr安装与部署(Tomcat篇)的更多相关文章
- Lucene/Solr搜索引擎开发笔记 - 第1章 Solr安装与部署(Jetty篇)
一.为何开博客写<Lucene/Solr搜索引擎开发笔记> 本人毕业于2011年,2011-2014的三年时间里,在深圳前50强企业工作,从事工业控制领域的机器视觉方向,主要使用语言为C/ ...
- Lucene/Solr搜索引擎开发笔记 - 写作方向调整
今天突然想到一个问题,觉得直接从Solr开始写,如果没有Lucene知识背景的话,看后续的章节还是比较吃力的,所以从下一篇博文开始,我可能会从Lucene开始写作,只要有Java的基础,搞定Lucen ...
- Solr In Action 笔记(1) 之 Key Solr Concepts
Solr In Action 笔记(1) 之 Key Solr Concepts 题记:看了下<Solr In Action>还是收益良多的,只是奈何没有中文版,只能查看英语原版有点类,第 ...
- solr学习(笔记) windows10+jdk1.8+tomcat8环境部署
一:准备环境 1.1 »tomcat8.5下载地址:https://tomcat.apache.org/download-80.cgi 1.2 solr各版本下载地址:http://archive.a ...
- Android开发笔记之《Window下安装Ubuntu双系统,Grub无法显示Window选项》
解决方法是: 在terminal里面输入: sudo update-grub 会找到windows的grub 重启电脑就可以了.
- 吴裕雄--天生自然Django框架开发笔记:Django Nginx+uwsgi 安装配置
Django Nginx+uwsgi 安装配置 使用 python manage.py runserver 来运行服务器.这只适用测试环境中使用. 正式发布的服务,需要一个可以稳定而持续的服务器,比如 ...
- Nutch+Lucene搜索引擎开发实践
网络拓扑 图 1 网络拓扑图 安装Java JDK 首先查看系统是否已经安装了其它版本号的JDK,假设有,先要把其它版本号的JDK卸载. 用root用户登录系统. # rpm-qa|grep gcj ...
- 《Clojure编程》笔记 第4章 多线程和并发
目录 背景简述 第4章 多线程和并发 4.0 我的问题 4.1 术语 4.1.1 一个必须要先确定的思考基础 4.2 计算在时间和空间内的转换 4.2.1 delay 4.2.2 future 4.2 ...
- 《Clojure编程》笔记 第2章 函数式编程
目录 背景简述 第2章 函数式编程 背景简述 本人是一个自学一年Java的小菜鸡,理论上跟大多数新手的水平差不多,但我入职的新公司是要求转Clojure语言的.坊间传闻:通常情况下,最好是有一定Jav ...
随机推荐
- @Scheduled 注解
Spring配置文件xmlns加入 <!---加入:xmlns:task="http://www.springframework.org/schema/task"--> ...
- sql注入基于错误-单引号-字符型
查找注入点 在url中: 1. ' 2. and 1=1/and 1=2 3. 随即输入(整形) 4. -1/+1回显上下页面(整形) 5. and sleep(5) (判断页面返回时间) 判断有 ...
- C++ | boost库 类的序列化
是的,这是今年的情人节,一篇还在研究怎么用的文章,文结的时候应该就用成功了. 恩,要有信心 神奇的分割线 不知何时装过boost库的header-only库, 所以ratslam中的boost是可以编 ...
- 解决Ubuntu 下 vi编辑器不能使用方向键和退格键问题
转自:http://blog.csdn.net/sky101010ws/article/details/51012103 使用vi命令时,不能正常编辑文件,使用方向键时老是出现很多字母 这个问题主要是 ...
- iOS开发UI篇—使用picker View控件完成一个简单的选餐应用
iOS开发UI篇—使用picker View控件完成一个简单的选餐应用 一.实现效果 说明:点击随机按钮,能够自动选取,下方数据自动刷新. 二.实现思路 1.picker view的有默认高度为162 ...
- 学习swift开源项目
如果你是位iOS开发者,或者你正想进入该行业,那么Swift为你提供了一个绝佳的机会.Swift的设计非常优雅,较Obj-C更易于学习,当然也非常强大. 为了指导开发者使用Swift进行开发,苹果发布 ...
- 手机抓包-fiddler
如果app走的是http协议,不用root,只需要通过fiddler做代理,就可以抓到所有请求. 1. fiddler+手机wifi设置 安装fiddler,勾中 Fiddler Options -& ...
- 关于jquery中的事件绑定bind()和live()
live可以说是bind是方法的变种. 二者的主要区别就是live方法的作用机理是事件委托,live方法的作用机理是将事件绑定DOM的根节点上. live方法的处理机制就是把事件绑定在DOM树的根节点 ...
- Android开源框架:Universal-Image-Loader解析(一)
之前花了一些时间,好好看了下这个框架,于是决定再重新梳理一下,把整个处理方法和流程过一遍,俗话说:温故而知新嘛 关于Universal-Image-Loader此框架的各种优点,稍微介绍下,网上应该也 ...
- hessionproxy
from pyhessian.client import HessianProxy if __name__ == '__main__': params = {"a": " ...