二、Solr安装(Tomcat)
安装环境
Windows 7 64bit
Apache-tomcat-8.0.9-windows-x64
Solr-4.9.0
JDK 1.8.0_05 64bit
安装步骤
Tomcat和JDk的安装在这里就略过。
注意:solr4.9要求jdk1.7+
步骤一:
解压solr-4.9.0到任意文件夹,我解压到D:\Installed Applications\solr-4.9.0\solr-4.9.0目录下。
步骤二:
将solr-4.9.0\dist\ solr-4.9.0.war复制到Tomcat webapp/目录下,最好重命名为solr.war。
步骤三:
启动Tomcat,会报错,这步只是为了将solr-4.9.0.war解压,所以手动解压放在webapp目录下面也是可行的。
步骤四:
方法一:
打开webapps\solr\WEB-INF\web.xml
找到:
<!--
<env-entry>
<env-entry-name>solr/home</env-entry-name>
<env-entry-value>/put/your/solr/home/here</env-entry-value>
<env-entry-type>java.lang.String</env-entry-type>
</env-entry>
-->
这里是需要配置solr/home,只需要修改<env-entry-value>/put/your/solr/home/here</env-entry-value>
这个目录可以自定义,建议就用步骤一解压的目录,这里需要非常注意:在Solr官网的Tutorial里面有如下一段话:
How Solr Works with Tomcat
The two basic steps for running Solr in any Web application container are as follows:
- Make the Solr classes available to the container. In many cases, the Solr Web application archive (WAR) file can be placed into a special directory of the application container. In the case of Tomcat, you need to place the Solr WAR file in Tomcat's webapps directory. If you installed Tomcat with Solr, take a look in tomcat/webapps:you'll see the solr.war file is already there.
- Point Solr to the Solr home directory that contains conf/solrconfig.xml and conf/schema.xml. There are a few ways to get this done. One of the best is to define the solr.solr.home Java system property. With Tomcat, the best way to do this is via a shell environment variable, JAVA_OPTS. Tomcat puts the value of this variable on the command line upon startup
从这里可以看出,<env-entry-value>指向的目录需要包含conf/solrconfig.xml和conf/schema.xml这两个文件,也就意味着在<env-entry-value>所指向的目录中需要有conf子目录,我就是因为官网的这段解释,搞了半天没有成功,其实是我理解错了,我认为在solr.solr.home目录下必须要有子目录conf,conf里面包含solrconfig.xml和schema.xml。但是其实conf目录是放在collection1目录下面的,collection是solr的一个Instance实例,solr中可以配置多个collection,可以有独立的配置文件。
我这边web.xml的配置为:
<env-entry>
<env-entry-name>solr/home</env-entry-name>
<env-entry-value>D:/Installed Applications/solr-4.9.0/solr-4.9.0/example</env-entry-value>
<env-entry-type>java.lang.String</env-entry-type>
</env-entry>
特别需要注意配置里面使用的是反斜杠"/",而不是windows下默认的"\"。
这里我是直接指向example文件夹。
方法二(个人推荐):
在$TOMCAT_HOME/conf/Catalina/localhost目录下新建solr.xml文件,内容为:
<Context path="/solr" docBase="… /tomcat/webapps/solr.war" debug="0" crossContext="true">
<Environment name="solr/home" type="java.lang.String" value=" D:/Installed Applications/solr-4.9.0/solr-4.9.0/example " override="true"/>
这边需要注意,override需要设置为false,否则每次启动tomcat都会重新解压war文件覆盖掉之前的配置,或者手动解压后,把context path直接指向文件夹
</Context>
步骤五:
将solr-4.9.0\example\solr目录下的collection1目录整体copy到solr-4.9.0\example目录下。读者可以自己自定义路径,web.xml中定义的<env-entry-value></env-entry-type>,这个指向的目录包含collection1目录就好了。
步骤六:
将D:\Installed Applications\solr-4.9.0\solr-4.9.0\example\lib\ext目录下的jar包copy到apache-tomcat-8.0.9\lib目录下,也可以copy到webapps\solr\WEB-INF\lib下,读者可以自行选择(全局和局部的问题而已)。(如果启动还是报错,可以根据提示在solr-4.9.0\dist中找相应的jar包)。
步骤七:
打开Tomcat conf目录下的server.xml,找到下面一段代码添加URIEncoding="UTF-8",添加中文支持。
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"
URIEncoding="UTF-8" />
步骤八:
启动Tomcat,打开浏览器输入:http://localhost:8080/solr/admin/,看到启动画面就说明安装成功。

总结
由上面的安装步骤可以看出来,其中步骤四是最核心的一步,这里面需要了解Solr的运行原理:Solr是类似于Http接口的一种服务,它需要在Web容器(这里是Tomcat)中部署,运行后,应用程序用Http请求的方式和Solr交互,包括添加索引、查询等等。所以我们需要在Web容器中部署Solr,并且在Tomcat配置中指明Solr配置的目录。
在Linux下的安装方法跟Windows下没有大的区别。
二、Solr安装(Tomcat)的更多相关文章
- Solr安装(Tomcat)
Solr安装(Tomcat) 安装环境 Windows 7 64bit Apache-tomcat-8.0.9-windows-x64 Solr-4.9.0 JDK 1.8.0_05 64bit ...
- solr安装-tomcat+solrCloud构建稳健solr集群
solrCloud的搭建可以有两种方式:使用solr内嵌的jetty来搭建:使用外部web容器tomcat来搭建.对于使用jett来搭建参考solr官方的手册照着做肯定ok,下面我主要讲的是如何使用t ...
- java web开发环境配置系列(二)安装tomcat
在今天,读书有时是件“麻烦”事.它需要你付出时间,付出精力,还要付出一份心境.--仅以<java web开发环境配置系列>来祭奠那逝去的…… 1.下载tomcat压缩包,进入官网http: ...
- .Net程序员 Solr-5.3之旅 (二)Solr 安装
阅读目录 引言 Solr5.3环境搭建 Solr5.3创建第一个Core 结尾 引言 一个糟糕的设计有好的表现形式,它会被判死缓,一个好的设计有糟糕的表现形式,它会被判死刑立即执行. 以上摘自一个设计 ...
- solr安装-tomcat单机版
今天又装了一次solr,之前太忙没顾得上写安装文档,今天抽时间记录下来安装过程,供小白们参考. 1. 准备工作 1. 服务器:linux 2.web服务器apache-tomcat,我的路径:/usr ...
- 部署WEB项目到服务器(二)安装tomcat到linux服务器(Ubuntu)详解
突发奇想,想在自己电脑上部署一个web网站. 1,先去tomcat官网下载一个适合linux的版本:tar.gz 2,然后通过FileZIlla传到服务器的/opt目录: 3,然后创建目录 并解压缩 ...
- Docker(39)- docker 实战二之安装 Tomcat
背景 参考了狂神老师的 Docker 教程,非常棒! https://www.bilibili.com/video/BV1og4y1q7M4?p=15 直接运行容器 本地找不到镜像会自动下载 --rm ...
- Linux下安装Tomcat服务器和部署Web应用
一.上传Tomcat服务器
- CentOS安装tomcat
一.下载Tomcat 1..进入Tomcat官网:http://tomcat.apache.org/ 左侧选择相应的版本 点击Tomcat 6.0后 点击tar.gz下载apache-tomcat-6 ...
随机推荐
- SOA
面向服务架构Service-Oriented Architecture 4个特性 1每个服务具有明确的边界 2服务是独立的 3采用标准的契约定义和通信协议 4服务是自解释的
- 遍历页面上所有TextBox,并赋值为String.Empty
//不含母板页 foreach (System.Web.UI.Control txtobj in this.Page.Controls) { if (txtobj.GetType().Na ...
- maven项目,去除jar包中的不想要的依赖关系(Document root element "beans", must match DOCTYPE root "null". )
maven dependencies中并不会删除 以下方法maven dependencies中并不会删除,可能程序引入的时候,会去掉这种依赖(猜的) 解释: 就是说项目中要用到某一个a.jar包,通 ...
- 你好,C++(14)如何描述“一个名叫陈良乔,年龄33岁,身高173厘米,体重61.5千克的男人”——3.8 用结构体类型描述复杂的事物
3.8 用结构体类型描述复杂的事物 利用C++本身所提供的基本数据类型所定义的变量,只能表达一些简单的事物.比如我们可以用int类型定义nAge变量表示人的年龄,用string类型定义strName ...
- Android Fragment用法之给Activity创建事件回调
在某些案例中,可能需要Fragment与Activity共享事件.在Fragment内部定义一个回调接口是一个好方法,并且规定由持有它的Activity实现这个回调方法.当Activity通过接口接受 ...
- Oracle数据库之PL/SQL流程控制语句
Oracle数据库之PL/SQL流程控制语句 在任何计算机编程语言(如C,Java,C#等)都有各种流程控制语句,同样,在PL/SQL中也存在这样的流程控制结构. 几种常见的流程控制结构: 一.条件结 ...
- 转 jQuery(图片、相册)插件代码实例
jQuery想必大部分前端er都知道甚至很熟悉了,网上有数以万计的优秀的jQuery插件以及教程,今天收集了一些关于图片.相册的jQuery插件代码,希望会对你有所帮助. 1. 3D Gallery ...
- CSS3 Transitions
浏览器支持 属性 浏览器 transition Internet Explorer不支持过渡属性. Firefox4需要前缀-moz-. Chrome和Safari需要前缀-webkit-. Oper ...
- 19个非常有用的 jQuery 图片滑动插件和教程
jQuery 是一个非常优秀的 Javascript 框架,使用简单灵活,同时还有许多成熟的插件可供选择.其中,最令人印象深刻的应用之一就是对图片的处理,它可以让帮助你在你的项目中加入精美的效果.今天 ...
- 使用scrapy制作的小说爬虫
使用scrapy制作的小说爬虫 爬虫配套的django网站 https://www.zybuluo.com/xuemy268/note/63660 首先是安装scrapy,在Windows下的安装比 ...