Solr 是一个独立的企业级搜索应用服务器,基于 Lucene 的全文搜索服务器。同时对其进行了扩展,提供了比 Lucene 更为丰富的查询语言,同时实现了可配置、可扩展并对查询性能进行了优化,并且提供了一个完善的功能管理界面,是一款非常优秀的全文搜索引擎。

安装环境

  • CentOS 6.5

  • Solr 5.2.0

  • JDK 1.7

  • Tomcat 7

安装

Solr 官网下载所需版本文件,本文使用 Solr 5.2.0,安装文件 solr-5.2.0.tgz

在服务器端创建 $CATALINA_HOME/webapps/solr 目录

其中,$CATALINA_HOME 表示 Tomcat 安装的根目录,以下同

本地解压缩 solr-5.2.0.tgz,得到 solr-5.2.0 目录

并将 solr-5.2.0/server/webapps/solr.war 上传到服务器 $CATALINA_HOME/webapps/solr

解压缩 $CATALINA_HOME/webapps/solr/solr.war 包,并备份 solr.war 包

1
2
3
# cd $CATALINA_HOME/webapps/solr
# jar xvf solr.war
# mv solr.war solr.war_5.2.0_backup

以 JNDI 的方式设置 SOLR_HOME 变量,SOLR_HOME 是 Tomcat 安装 Solr 实例必不可少的配置

在 $CATALINA_HOME/conf/Catalina/localhost 目录下新建一个 solr.xml 配置文件,内容如下

1
2
3
<Context docBase="/opt/apache-tomcat-solr/webapps/solr" debug="0" crossContext="true" >
<Environment name="solr/home" type="java.lang.String" value="/opt/apache-tomcat-solr/conf/solr" override="true" />
</Context>

docBase 指定到 solr 应用的目录,solr/home 的值指定到 SOLR_HOME 的根目录

将 solr-5.2.0/server/solr 整个文件夹上传到 $CATALINA_HOME/conf/ 下

形成的 $CATALINA_HOME/conf/solr 即是 SOLR_HOME 的目录(以下用 $SOLR_HOME 表示)

删掉 $SOLR_HOME/configsets 目录

1
2
# cd $SOLR_HOME
# rm -rf configsets

新建 $SOLR_HOME/core1 目录

1
# mkdir core1

新建 $SOLR_HOME/core1/conf 目录

1
# mkdir core1/conf

新建 $SOLR_HOME/core1/data 目录

1
# mkdir core1/data

将 solr-5.2.0/server/solr/configsets/sample_techproducts_configs 下面的文件

全部上传到 $SOLR_HOME/core1/conf 目录下

将 solr-5.2.0/server/lib/ext 下的 jar 包

全部上传到 $CATALINA_HOME/webapps/solr/WEB-INF/lib 目录下

在 $CATALINA_HOME/webapps/solr/WEB-INF 下创建文件夹 classes

将 solr-5.2.0/server/resources/log4j.properties

上传到 $CATALINA_HOME/webapps/solr/WEB-INF/classes 目录下

添加 core 配置

启动 tomcat,访问 http://192.168.1.102:8081/solr

在 Core Admin 菜单栏,填写如上图表单,点击 Add Core,添加一个 Core

前提:$SOLR_HOME 目录下必须已存在与上图 instanceDir 名称相同的目录,

且该目录存在 data/,conf/schema.xml,conf/solrconfig.xml 目录文件。

否则添加会发生异常导致失败。若添加成功,图示

在左侧菜单栏 Core Selector 下拉框中选择刚添加的 core1,图示

至此,Solr 5.2.0 在 linux 环境下搭建完成。