http://blog.csdn.net/yerenyuan_pku/article/details/72874134

Solr是一个独立的企业级搜索应用服务器,它对外提供类似于Web-service的API接口。用户可以通过http请求,向搜索引擎服务器提交一定格式的XML文件,生成索引;也可以通过Http Get操作提出查找请求,并得到XML格式的返回结果。 
Solr是一个高性能,采用Java5开发,基于Lucene的全文搜索服务器。同时对其进行了扩展,提供了比Lucene更为丰富的查询语言,同时实现了可配置、可扩展并对查询性能进行了优化,并且提供了一个完善的功能管理界面,是一款非常优秀的全文搜索引擎。 
对于淘淘商城来讲,由于网上商城的搜索频率特别高,我们很有必要把搜索单独做成一个服务,这样做的好处是可以针对该服务做扩展,做成服务集群等,其它模块都可以调用Solr服务。 
下面我将告诉大家如何在Linux系统上搭建单机版的Solr服务器。

新建一台虚拟机

关于如何新建一台虚拟机,我之前已写过一篇文章,如果大家还有不会的,可以翻阅使用VMware安装CentOS6.7这篇文章。

安装JDK

由于Solr是由Java开发的,因此安装Solr之前需要安装JDK,关于如何在Linux系统上安装JDK,我的Linux系统上安装JDK这篇文章已经说的很清楚了,我不想再多费口舌。

安装Solr

下载Solr

首先我们肯定是要下载Solr的压缩包的,我下载的是solr-4.10.3.tgz.tgz,如下图所示。 

把Solr的压缩包上传到Linux系统

怎样将文件上传到Linux系统上,我想我已经说的要吐了,所以这儿不再浪费口舌。与以往一样,我把solr-4.10.3.tgz.tgz上传到了用户主目录(即root)下,如下图所示。 

解压缩Solr安装包

使用tar zxf solr-4.10.3.tgz.tgz命令将Solr的压缩包解压缩到用户主目录(即root)下。 
 
解压完之后,可以看到解压后的solr-4.10.3目录。我们进入到solr-4.10.3目录下,可以看到Solr的所有文件目录,如下图所示。其中bin目录使用jetty容器可以启动Solr服务,但是我们一般不用这个,contrib目录下存放的是扩展包,我们一般也不用。 

我们看看dist目录下的内容,如下图所示,可以看到solr-4.10.3.war,这个war包结合tomcat进行使用,solr-solrj-4.10.3.jar是我们的Solr客户端。 

我们再看下example目录,这个目录下有一个很重要的目录,那就是solr目录,这个目录下存放的都是Solr很重要的文件。 

安装tomcat

首先我们肯定是要下载tomcat的压缩包的,我下载的是apache-tomcat-7.0.47.tar.gz,如下图所示。 
 
下载完之后,将其上传到Linux系统上,仍与以往一样,我把apache-tomcat-7.0.47.tar.gz上传到了用户主目录(即root)下,如下图所示。 

接着使用tar zxf apache-tomcat-7.0.47.tar.gz命令将tomcat的压缩包解压缩到用户主目录(即root)下,解压完之后,即可看到解压后的apache-tomcat-7.0.47目录。 

紧接着我们在/usr/local目录下新建一个solr目录,如下图所示。 
 
然后我们将解压好的的apache-tomcat-7.0.47目录复制一份到/usr/local/solr/目录下并重命名为tomcat,如下图所示,进入/usr/local/solr/tomcat目录之后即可看到我们非常熟悉的东西了。 

Solr与tomcat结合

我们将Solr的war包放到tomcat的webapps目录下并命名为solr.war,如下图所示,进入/usr/local/solr/tomcat/webapps目录之后即可看到solr.war包。 

下面对solr.war进行解压,解压的方式是启动tomcat,并且可以是使用tail -f logs/catalina.out命令查看启动日志,如下图所示。 

提示:tail:从文件尾部读取文件内容信息;-f:循环读取。 
启动tomcat之后,我们到webapps目录下查看,可以看到多了一个solr的目录,说明solr.war已经解压好了,如下图所示。 

下面我们删掉webapps目录下的solr.war,但是前提是先关闭掉tomcat,然后再删除(如果不关闭tomcat就删除solr.war的话,solr文件夹也会被删除),如下图所示。 

下面我们将solr-4.10.3/example/lib/ext/目录下的所有jar包拷贝到/usr/local/solr/tomcat/webapps/solr/WEB-INF/lib目录中,如下图所示。 

紧接着将solr-4.10.3/example目录下的solr文件夹复制到/usr/local/solr/目录下并且重命名为solrhome,如此一来,/usr/local/solr/目录下面就会有solrhome和tomcat这两个目录了,如下图所示。 
 
下面我们需要修改/usr/local/solr/tomcat/webapps/solr/WEB-INF目录下的web.xml文件,我们要把web.xml文件当中用红框标注的这段配置的注释去掉,并修改<env-entry-value>的值为我们solrhome的目录,如下图所示。

检测Solr是否安装成功

经过上面的配置,单机版的Solr我们便配置完了,下面我们启动tomcat并使用tail -f logs/catalina.out命令查看启动日志,如下图所示。 

我们要想通过在浏览器地址栏中输入http://虚拟机ip地址:8080这样的url地址来访问tomcat,需要设置Linux的防火墙,之前我已讲过,因为Linux的防火墙默认只对外开放了一个22的端口,其他的端口都没打开。所以你需要把它的防火墙设置一下,让它对tomcat的8080端口号放行。 具体做法是:使用cd ~命令切换到当前用户主目录(即root)下,然后使用如下命令来设置Linux的防火墙,使其对tomcat的8080端口号放行。

/sbin/iptables -I INPUT -p tcp --dport 8080 -j ACCEPT
/etc/rc.d/init.d/iptables save

其中,/etc/rc.d/init.d/iptables save命令是将这个设置永久地保存到Linux的防火墙中。 
接下来,我们到浏览器地址栏中输入http://虚拟机ip地址:8080/solr/即可访问到Solr的管理页面了,如下图所示。 

 

(转)淘淘商城系列——Solr的安装的更多相关文章

  1. (转) 淘淘商城系列——Redis的安装

    http://blog.csdn.net/yerenyuan_pku/article/details/72849612 通过上文的学习,我相信大家已经将首页的轮播图展示出来了,接下来我们将进入一个新的 ...

  2. (转)淘淘商城系列——Solr集群搭建

    http://blog.csdn.net/yerenyuan_pku/article/details/72957201 我们之前做的搜索使用的是Solr的单机版来实现的,正是由于我们现在商品数据量不多 ...

  3. (转)淘淘商城系列——zookeeper单机版安装

    http://blog.csdn.net/yerenyuan_pku/article/details/72717744 这篇文章,我单独来说一下zookeeper如何安装.在实际开发中,zookeep ...

  4. (转) 淘淘商城系列——Redis集群的搭建

    http://blog.csdn.net/yerenyuan_pku/article/details/72860432 本文我将带领大家如何搭建Redis集群.首先说一下,为何要搭建Redis集群.R ...

  5. (转) 淘淘商城系列——使用FastDFS-Client客户端进行上传图片的测试

    http://blog.csdn.net/yerenyuan_pku/article/details/72804018 不久之前,我们实现了商品的类目选择这个功能,但这只是万里长征的第一步,我们还有很 ...

  6. 第04项目:淘淘商城(SpringMVC+Spring+Mybatis)【第八天】(solr服务器搭建、搜索功能实现)

    https://pan.baidu.com/s/1bptYGAb#list/path=%2F&parentPath=%2Fsharelink389619878-229862621083040 ...

  7. (转)淘淘商城系列——中文分析器IK-Analyzer的使用

    在Solr中默认是没有中文分析器的,需要手工配置,配置一个FieldType,在FieldType中指定使用的中文分析器.另外,Solr中的字段(即业务域)必须先定义后使用.下面我们先把中文分析器配好 ...

  8. (转)淘淘商城系列——使用maven构建工程

    http://blog.csdn.net/yerenyuan_pku/article/details/72669269 开发工具和环境 这里,我统一规范一下淘淘商城的开发工具和环境,如下: Eclip ...

  9. (转) 淘淘商城系列——CMS内容管理系统工程搭建

    http://blog.csdn.net/yerenyuan_pku/article/details/72825801 淘淘商城系列——CMS内容管理系统工程搭建 上文我们一起搭建了表现层中的商城门户 ...

随机推荐

  1. Write a program that gives count of common characters presented in an array of strings..(or array of

    转自出处 Write a program that gives count of common characters presented in an array of strings..(or arr ...

  2. Appro DM8127 IPNC 挂载NFS遇到的问题及解决

    对于Appro DM8127 IPNC,默认的启动方式是NAND is used for booting kernel and NAND is used as root filesystem 为了调试 ...

  3. 一条SQL语句面试题:求选修所有课程的学生

    前几天求职面试,有一道SQL题:给出三个表:学生.课程.成绩,求选修了所有课程的学生. 一道看似很简单的问题,把我难住了,我改了又改,涂涂画画,抓耳挠腮,因为试卷没有多少空白位置了,最后只好放弃.心情 ...

  4. train_action

    # 导入数值计算模块 import numpy as np import tensorflow as tf # 创建计算会话 sess = tf.Session() # 生成数据,创建占位符和变量A ...

  5. AWK学习总结(三) Records and Fields

    AWK 记录和域 The NR Variable % awk '{print NR, $0}' employees 1 Tom Jones 4424 5/12/66 543354 2 Mary Ada ...

  6. Git经常使用命令总结

    Git是一款开源的分布式版本号控制系统,由Linux之父Torvalds用C语言开发. "the stupid content tracker",Git自诩为stupid,却是一个 ...

  7. java8新特性-方法引用

    方法引用:若 Lambda 体中的功能,已经有方法提供了实现,可以使用方法引用 (可以将方法引用理解为 Lambda 表达式的另外一种表现形式) 1. 对象的引用 :: 实例方法名2. 类名 :: 静 ...

  8. 7-81 js课程小结

    7-81 js课程小结 学习要点 理解全局对象 变量的作用范围 理解全局对象Global 全局属性和函数可用于所有内建的 JavaScript 对象.全局对象是所有全局方法的拥有者,用来统一管理全局方 ...

  9. 4.7.3 Canonical LR(1) Parsing Tables

    4.7.3 Canonical LR(1) Parsing Tables We now give the rules for constructing the LR(1) ACTION and GOT ...

  10. vue 基础知识 随笔

    window.localStorage.gettItem("someItem"||[])//如果localStorage中的someItem不存在就返回一个空数组 window.l ...