(转)淘淘商城系列——Solr的安装
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的安装的更多相关文章
- (转) 淘淘商城系列——Redis的安装
http://blog.csdn.net/yerenyuan_pku/article/details/72849612 通过上文的学习,我相信大家已经将首页的轮播图展示出来了,接下来我们将进入一个新的 ...
- (转)淘淘商城系列——Solr集群搭建
http://blog.csdn.net/yerenyuan_pku/article/details/72957201 我们之前做的搜索使用的是Solr的单机版来实现的,正是由于我们现在商品数据量不多 ...
- (转)淘淘商城系列——zookeeper单机版安装
http://blog.csdn.net/yerenyuan_pku/article/details/72717744 这篇文章,我单独来说一下zookeeper如何安装.在实际开发中,zookeep ...
- (转) 淘淘商城系列——Redis集群的搭建
http://blog.csdn.net/yerenyuan_pku/article/details/72860432 本文我将带领大家如何搭建Redis集群.首先说一下,为何要搭建Redis集群.R ...
- (转) 淘淘商城系列——使用FastDFS-Client客户端进行上传图片的测试
http://blog.csdn.net/yerenyuan_pku/article/details/72804018 不久之前,我们实现了商品的类目选择这个功能,但这只是万里长征的第一步,我们还有很 ...
- 第04项目:淘淘商城(SpringMVC+Spring+Mybatis)【第八天】(solr服务器搭建、搜索功能实现)
https://pan.baidu.com/s/1bptYGAb#list/path=%2F&parentPath=%2Fsharelink389619878-229862621083040 ...
- (转)淘淘商城系列——中文分析器IK-Analyzer的使用
在Solr中默认是没有中文分析器的,需要手工配置,配置一个FieldType,在FieldType中指定使用的中文分析器.另外,Solr中的字段(即业务域)必须先定义后使用.下面我们先把中文分析器配好 ...
- (转)淘淘商城系列——使用maven构建工程
http://blog.csdn.net/yerenyuan_pku/article/details/72669269 开发工具和环境 这里,我统一规范一下淘淘商城的开发工具和环境,如下: Eclip ...
- (转) 淘淘商城系列——CMS内容管理系统工程搭建
http://blog.csdn.net/yerenyuan_pku/article/details/72825801 淘淘商城系列——CMS内容管理系统工程搭建 上文我们一起搭建了表现层中的商城门户 ...
随机推荐
- 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 ...
- Appro DM8127 IPNC 挂载NFS遇到的问题及解决
对于Appro DM8127 IPNC,默认的启动方式是NAND is used for booting kernel and NAND is used as root filesystem 为了调试 ...
- 一条SQL语句面试题:求选修所有课程的学生
前几天求职面试,有一道SQL题:给出三个表:学生.课程.成绩,求选修了所有课程的学生. 一道看似很简单的问题,把我难住了,我改了又改,涂涂画画,抓耳挠腮,因为试卷没有多少空白位置了,最后只好放弃.心情 ...
- train_action
# 导入数值计算模块 import numpy as np import tensorflow as tf # 创建计算会话 sess = tf.Session() # 生成数据,创建占位符和变量A ...
- AWK学习总结(三) Records and Fields
AWK 记录和域 The NR Variable % awk '{print NR, $0}' employees 1 Tom Jones 4424 5/12/66 543354 2 Mary Ada ...
- Git经常使用命令总结
Git是一款开源的分布式版本号控制系统,由Linux之父Torvalds用C语言开发. "the stupid content tracker",Git自诩为stupid,却是一个 ...
- java8新特性-方法引用
方法引用:若 Lambda 体中的功能,已经有方法提供了实现,可以使用方法引用 (可以将方法引用理解为 Lambda 表达式的另外一种表现形式) 1. 对象的引用 :: 实例方法名2. 类名 :: 静 ...
- 7-81 js课程小结
7-81 js课程小结 学习要点 理解全局对象 变量的作用范围 理解全局对象Global 全局属性和函数可用于所有内建的 JavaScript 对象.全局对象是所有全局方法的拥有者,用来统一管理全局方 ...
- 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 ...
- vue 基础知识 随笔
window.localStorage.gettItem("someItem"||[])//如果localStorage中的someItem不存在就返回一个空数组 window.l ...