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. HDU 1269 迷宫城堡 最大强连通图题解

    寻找一个迷宫是否是仅仅有一个最大强连通图. 使用Tarjan算法去求解,经典算法.必需要学习好,要自己创造出来是十分困难的了. 參考资料:https://www.byvoid.com/blog/scc ...

  2. Netty In Action中文版 - 第四章:Transports(传输)

    本章内容 Transports(传输) NIO(non-blocking IO,New IO), OIO(Old IO,blocking IO), Local(本地), Embedded(嵌入式) U ...

  3. [计算机故障]为什么我的手机SD卡一打开就是说“你的磁盘未格式化,现在需要格式化吗”?

    现在随着智能手机的普及,越来越多的人使用到了手机SD卡.也有的是micro SD(更小一些). 最近一个朋友说,为什么我的手机SD卡插到手机里一打开就是说“你的磁盘未格式化,现在需要格式化吗?” 但是 ...

  4. C++ 代码片段(积累)

    1.MFC中点出对话框显示另存为的一个路径和文件: void CPatchDlg::OnBnClickedBtnPath() { //一下为选择另存为一个路径 m_strSavepath = &quo ...

  5. 协议解析Bug分析

    协议解析Bug分析 源自邮件协议RPC(远程过程调用)处理的Request请求数据包的bug.        一.Bug描写叙述 腾讯收购的Foxmailclient能够作为outlookclient ...

  6. ARP协议(4)ARP编程

    之前的几篇文章,分别介绍了 ARP 协议格式,在vs2012里配置winpcap环境,我们该做的准备都已经做完了.如今我们真正来实现了. 一.定义数据结构 依据ARP的协议格式,设计一个ARP协议格式 ...

  7. 使用Zabbix监控ZooKeeper服务的健康状态

    一 应用场景描述 在目前公司的业务中,没有太多使用ZooKeeper作为协同服务的场景.但是我们将使用Codis作为Redis的集群部署方案,Codis依赖ZooKeeper来存储配置信息.所以做好Z ...

  8. android.content.ReceiverCallNotAllowedException: 解决方法

    一. android.content.ReceiverCallNotAllowedException: IntentReceiver components are not allowed to reg ...

  9. 配置Cocos Code IDE 可以正常运行的组合:jdk,sdk ,ndk, ant, cocos2d-x

    Cocos Code IDE:Cocos Code IDE 1.0.0-RC2 jdk:Cocos Code IDE 自动的jdk sdk:8以上 ndk:r9d(r10有bug),希望以后版本可以修 ...

  10. 使用NDK r10构建Cocosd-x v3.2时编译和链接错误的解决办法

    如果你使用NDK r10构建Cocos2d-x v3.2,将会遇到所有测试用例编译错误以及Lua测试用例链接错误. 1. 编译错误 错误信息是: 1 2 3 4 5 6 7 8 /Users/ming ...