Solr权威指南 上卷(txt+pdf+epub+mobi电子书下载)


发布时间:2020-08-07 05:03:34

点击下载

作者:兰小伟

出版社:机械工业出版社

格式: AZW3, DOCX, EPUB, MOBI, PDF, TXT

Solr权威指南 上卷

Solr权威指南 上卷试读:

序言

P R E F A C E

Apache Solr是使用最广泛的全文检索解决方案,大部分网站都在使用Solr来实现搜索功能。然而国内关于Solr的资料太少,无奈我只能一点点地啃Solr官方提供的User Guid PDF文档、Solr Wiki以及一些纯英文的技术书籍,希望能够借由本书将我学习积累的所有经验倾情传授给那些由于学习Solr曲线太陡峭而束手无策的同学们。本书致力于帮助Java开发人员更简单、深入地学习Solr。同时本书还提供了随书源码,其中包含大量可运行的示例代码。本书与随书源码搭配在一起学习会事半功倍!由于目前大数据、云计算的发展如火如荼,各种大数据生态框架如雨后春笋般涌现,给人一种无形的压力。为此,本书也介绍了Solr与大数据框架的集成,如果你正好有这方面的需求,希望本书能够给你带来帮助。为什么写这本书

转眼间,我已经跌跌撞撞走过了5个年头,由起初的那个Java迷途小书童变身为程序员届的一根老油条,不由感慨万千。由于深谙一个非高校毕业的“正规军”一路走来有多么的艰辛,因此我一直秉持爱开源、爱分享的个性。这么多年来帮助过的程序员太多太多,本着一颗乐于助人的心,我不想大家重走我的弯路。从2015年3月中旬开始,我在ITEye技术社区发布与Lucene和Solr相关的技术博客,深受大家喜爱。每天联系、咨询我问题的网友越来越多。疲于应付的我,开始意识到仅靠一个人这样一对一地指导是行不通的。而且刚好Solr这方面的中文技术书籍在中国还是一片空白,于是萌生了写一本Solr中文书籍的想法,希望能够帮助更多的Solr技术爱好者。

2015年8月我联系到了华章的杨福川,向他提出了写这本书的想法,得到了他的大力支持。我深知自己过往没有显赫耀眼的工作经历,在一些前辈面前还只是一个晚辈。因此,在创作本书的过程中,查阅了Solr官网提供的Apache-Solr-Ref-Guide、Solr Wiki,并通读了《Solr in action》《Apache Solr4Cookbook》《Apache Solr Essentials》《Apache Solr High Performance》等英文技术书籍。为了能够编写Solr与大数据集成相关章节,我又耗费了大量时间通读了《Apache Flume Distributed Log Collection for Hadoop》《Hadoop in Action》《HBase in Action》《Learning Spark》等大数据相关的英文技术书籍。写作本书的过程也成为本人学习提升的过程,为此我花费了整整1年的时间。资历尚浅仍可以通过自身努力来弥补,所以我时时刻刻以严谨缜密的态度对待写进书里的每一段文字,除了怀揣着对技术的一种敬畏之情,我知道我还必须为读者负责。

然而造化弄人,在2016年的2月份,我的颈部莫名其妙长了一个肿瘤,这严重影响了我的身心健康。由于辗转于北京协和医院、解放军总医院等地投医救治,所以这本书的编写工作不得不临时中断。还好我没有放弃,于是在修养了半年之后,又进入了“挑灯夜读”的状态,开始夜以继日地赶稿子。因为已经立下了写书的豪言壮志,所以再苦再累我也是要写完的!由于生病,当初所在的公司要求我立即停薪修养,在看尽了世态炎凉之后,我毅然选择了辞职,打算专职将这本书写好,给读者一个交代。没有了经济来源,只靠自己多年来的积蓄维持生活。我顶着巨大的压力,在大病初愈的情况下,决定倾注全部精力打造这本书。很庆幸我坚持下来了。每天叫醒我的不是闹钟不是鸡汤,也不是其他竞争对手,而是我的决心,因为父母已两鬓白发,快要三十的我还孑然一身。所以我不能虚度光阴,需要为了我爱的人和爱我的人努力奋斗,从而改善他们的生活。这本书也算是给自己30岁生日提前备下的一份礼物,并借以纪念不悔的青春岁月。我知道和我有着类似经历的同学太多太多,因此希望这本书能够为学习Solr的你们带来帮助和鼓励:定好一个Target,就永远不要放弃!准备工作

随书提供了大量的示例代码(本书随书示例源码下载地址:https://github.com/yida-lxw/solr-book),其中涉及MongoDB、ZooKeeper、Hadoop、HBase、Flume、Kafka、Storm、Spark、Scala等知识点,不仅限于Solr,所以对于Java初学者而言会有一定压力。尽管书中提供了部分大数据框架的集群搭建步骤,但是由于篇幅的限制不可能面面俱到,你还是需要另外查阅其他相关书籍或资料来补充大数据这方面的知识。由于随书源码是基于Maven构建的,因此你还需要掌握Maven的基本使用方法。为了尽最大努力满足大部分用户的需求,所以从第14章开始我将以Solr6.2.1版本为例进行讲解,而Solr6.x是要求JDK1.8+版本的,那么在学习本书之前,你需要提前安装好JDK1.7和JDK1.8。如果你有将Solr部署在Tomcat下的需求,那么你还应安装Tomcat环境。对于企业而言,SolrCloud集群通常会部署在Linux环境下,因此本书SolrCloud部分是以CentOS6.5为例进行讲解的,或许你还需要掌握Linux操作系统的基础知识以及一些Linux的常用命令。另外,由于Solr是基于Lucene构建的,因此你最好拥有一定的Lucene基础再来学习本书内容会感觉更轻松。因为本书自始至终是以由浅入深的原则进行编写的,尽量细致入微地讲解每一步。当然,Solr源码是使用Java编写的,这也要求你能够熟练掌握Java编程语言的知识,并拥有良好的编码基本功以及编程悟性。而Solr中的数据往往来自于关系型数据库,因此你最好是对关系型数据库有一定的了解。如何阅读本书

全书分为上下两卷,总共16章,涵盖了Solr各个方面的知识点。本书从前到后按内容的难易程度以循序渐进的方式呈现出来。因此你只需要拥有足够的毅力将它阅读完,当然最好是能够边读边上机实践,就可以掌握Solr。此外每章之间都是相互独立的,如果你对于某章的内容已经非常熟悉,那么可以直接跳过选择感兴趣的章节进行学习。当然还是建议大家能够通读本书,系统的学习Solr,这样才会对Solr有一个更完整的理解,为你日后从事Solr相关的开发工作打下夯实的基础。本书每章开头部分都列举了该章的主要知识点,可以让你快速了解本章能够学习到的内容。虽然本书中演示的示例代码在随书源码中都可以找到,但是我还是建议大家能够实际动手去敲一遍,毕竟只有亲手实践过,才能将遇到的各种问题真正悟透并彻底解决。这个过程虽是艰辛的,但也是深刻的,因为解决问题对于程序员来说就是积累经验的机会。面向的读者

·Java开发工程师;

·架构师;

·Solr技术爱好者;

·各大高校或IT培训机构的学弟学妹们。勘误与反馈

在编写本书的过程中,尽管我倾注了大量时间与精力,但是由于水平有限,书中难免会存在不足与疏漏之处,还请大家多多批评指正。如果你在阅读本书过程中有任何疑问或者建议需要向我反馈,可直接发送E-mail至736031305@qq.com或者添加个人微信(13476669029)联系我。致谢

不知道你拿到这本书的时间是哪一年哪一个季节,但是对我来说,这都是我在自己30岁之前完成的一个最大的心愿。这是国内真真正正全面介绍Solr技术的第一本中文书籍,很开心我做到了。

想感谢的人很多,首先要谢谢爸妈,在我生病期间无微不至地照顾我,并无条件地支持我。

谢谢一路以来理解并鼓励我的朋友和粉丝们,是你们让我不断坚持前行。

谢谢机械工业出版社华章公司的杨福川、高婧雅、李艺,在这一年当中对我写作的信任与帮助,没有你们辛勤的付出,就不可能有这本书的面市。非常开心和幸运能够与你们共同完成这样一本书籍。

谢谢我的Java启蒙老师习晨龙,是您带我进入了Java世界,从此我在汲取知识的路上甘之如饴。

谢谢在这么多年的工作中所有帮助过我的同事,我会一直记得你们。

最后需要感谢的还是我自己,感谢曾经的年少轻狂,感谢一直都存在的梦想,对于梦想我从来没有也永远不会放弃。所以如果你还有梦想,为了你爱的人,为了你自己,请永远不要放弃!第1章初识Solr

通过第1章,你将可以学习到如下内容:

·Solr是什么;

·Solr的历史;

·为什么要选择Solr;

·Solr下载安装部署;

·Solr源码编译。1.1 Solr是什么

Solr是目前非常受欢迎的基于Apache开源组织下Lucene开发的一个开源高性能的企业级搜索平台。Solr具有高度可靠性、可扩展性、可容错性的特点,提供了分布式索引、索引备份、查询负载均衡、自动故障转移和恢复,以及集中配置等功能。Solr使Web搜索大放异彩,许多知名企业都在使用它,如大名鼎鼎的eBay、Instagram等。

如今我们已经步入信息大爆炸时代,信息量如此庞大,渴望从信息海洋中快速检索相关性内容的诉求已经随着以Google为代表搜索引擎的崛起而变得越来越强烈,使用Solr完全可以帮助企业满足用户的搜索需求,这也是Solr的设计初衷。Solr是完全开源的,且易于安装部署,还提供了一个基于AngularJS开发的Web管理后台界面,以便用户对Solr进行可视化管理。此外Solr拥有一群庞大而活跃的开发贡献者和支持者,如果你在学习过程中有任何问题,都可以轻松得到帮助。Solr如今正以惊人的速度不断迭代更新,截至本书执笔之前,Solr已经更新到5.3.1,这也从侧面印证了Solr如今的火热程度。1.2 Solr的历史

2004年,CNET NetWorks公司(www.cnetnetworks.com)的Yonik Seeley工程师为公司网站开发搜索功能时完成了Solr的雏形。起初Solr只是CNET公司的内部项目。

2006年1月,CNET公司决定将Solr源码捐赠给Apache软件基金会,希望Apache能帮助Solr解决一些关于组织、法律和金融等方面的问题,这样Solr就像Apache旗下其他新项目一样进入了孵化器。2007年1月,Solr顺利孵化成为Apache旗下一个独立的顶级项目。通过1年时间的不断累积和稳步发展,Solr吸引了一大批用户群,其中不乏代码贡献者、参与者。即便是作为一个全新的开源项目,Solr依然被应用于一些高流量的网站中。

2008年9月,Solr1.3发布了新功能,其中包括分布式搜索和性能增强等功能。

2009年1月,Yonik Seeley、Grant Ingersoll和Erik Hatcher一起联手成立了Lucidworks公司。Lucidworks成为了第一家为Solr提供商业和技术支持的公司。自此,Solr提供的服务开始全面丰富起来。

2009年11月,Solr1.4版本发布,此版本对索引、搜索、Facet等方面做了改进,比如提高了对PDF、HTML等富文本文件的处理能力,还推出了许多额外的插件。

2010年3月,Lucene和Solr项目合并,自此,Solr成为了Lucene的子项目。产品现在由双方的参与者共同开发。

2011年,Solr改变了版本编号方案,以便与Lucene匹配。为了使Solr和Lucene有相同的版本号,Solr1.4的下一版本号变为3.1。

2012年10月,Solr4.0版本发布,新功能SolrCloud也随之发布。1.3 为什么要选择Solr

Solr的目标是打造一款企业级的搜索引擎系统,也更接近于大众所熟知的搜索引擎系统,作为一种搜索引擎服务,它可以通过各种API在你的应用上使用,而不需要将搜索逻辑耦合其中。Solr可以根据配置文件定义数据解析的方式,更像是一个搜索框架,同时也支持主从、Core热切换等操作,还添加了对Hightlight、Group、Facet等搜索引擎常见功能的支持。

自Solr4.0版本开始,Solr引入了具有里程碑意义的SolrCloud分布式索引解决方案,其基于ZooKeeper的分布式搜索方案,主要思想是使用ZooKeeper作为集群的配置信息中心,保证了Solr在可伸缩性与可容错性方面有很好的表现。当你的索引数据越来越庞大,单机无法承受时,使用Solr的SlorCloud部署方式也不失为一种选择。

对于开发人员而言,Solr提供的各种功能亮点足以震撼到你,而且它是开源的,意味着你可以很轻易地得到它的源码并随意修改以满足自己的特殊需求,轻松清除了你学习过程中的绊脚石。

作为Solr的系统管理员,Solr使用AngularJS开发了一个美观易用的Web后台界面。你可以在这里对Solr进行各种管理配置,如配置检查、查询测试、Solr监控。

作为技术经理或者CEO,你可能不关心技术细节,而只关心如何使用Solr这门技术,包括需要投入多少人力物力的成本,以及使用风险评估等。首先,Solr是开源免费的,其次,Solr的开源社区异常活跃,而且Solr是由Apache软件基金会组织进行开发和管理的,不用担心Solr哪天突然没人更新维护了,更不用担心遇到问题无从寻求帮助。1.4 Solr功能预览

让搜索解决方案具有良好的用户体验是Solr使用者的最大诉求,现在让我们快速浏览下Solr为了实现搜索功能的良好用户体验都提供了哪些功能:

·灵活的查询语法;

·支持各种格式文件(Word,PDF)导入并索引;

·支持数据库数据导入并索引;

·分页查询和排序;

·Facet维度查询;

·自动完成功能;

·拼写检查;

·搜索关键字高亮显示;

·Geo地理位置查询;

·Group分组查询;

·SolrCloud。

至此,我想你应该已经清楚:Solr是用来做什么的,Solr支持对什么类型的数据进行索引,Solr不是数据库的替代品。那就赶紧随我立即下载Solr安装包,并将它运行于你的本地机器上,身临其境地感受下Solr的魅力吧!1.5 Solr下载

因为Solr是基于Java语言开发的,且Solr5.x要求JDK的最低版本必须是JDK7,所以在开始Solr学习之旅之前,建议首先在你的本机安装好JDK7或者JDK8。如果你是Java初学者,从未在本机搭建过Java开发环境,建议先买一本Java基础入门级书籍进行学习,而后再回到Solr。至于JDK如何安装以及JDK环境变量如何配置,具体可从网上查询相关内容,这里不再赘述。

在我写本书时,Solr的最新版本是5.3.1,所以本书主要以此版本为例进行讲解,有可能当你看到本书时,Solr已经更新,如果跟本书使用的版本号不一致,请不要有顾虑,其实使用方式基本差不多。接下来是Solr的下载步骤:打开浏览器访问Solr官网(http://lucene.apache.org/solr/),首先会看到顶部一排红色背景的导航栏,单击其中的DOWNLOAD超链接进入Solr的下载引导页面,此页面会有一个3秒的停顿,然后会自动跳转到下载页面,如图1-1所示。图1-1 Solr下载演示图

如果希望下载Solr当前最新版本,你可以等待3秒让页面自动跳转,或者直接单击Lastest version段落部分的超链接直接进入Solr当前最新版本下载页面,如图1-2所示。图1-2 Solr下载地址演示

如果你不希望下载当前的最新版本,而需要Solr4.x、Solr3.x甚至Solr1.x的版本,可以单击Past versions段落部分的超链接进入Solr历史版本下载界面,然后挑选你想要下载的版本进行下载。对于Java新手,看到如图1-3的下载界面可能会有些迷茫,不知该下载哪一个文件,所以这里我稍微做下说明。

其中文件名包含src字符的文件表明这是Solr的源码压缩包,直接以solr-version.zip或solr-version.tgz命名的文件是Solr的安装包,zip对应Windows平台,tgz对应Linux平台,而以asc/md5/sha1结尾的文件都是校验文件。为了确保下载的文件是安全的,没有被植入病毒或木马,所以官方提供了一致性校验文件。文件的一致性校验,基本原理就是通过加密算法对文件生成一系列对应的唯一值,然后同文件发布者提供的值进行比较,从而判断两者是否一致。ASC,MD5和SHA1就是目前使用最为广泛的加密算法。如果你非常关心下载的文件是否安全,那么可以下载相应的校验文件。Windows平台下有几款文件一致性校验的工具,如:HashCalc、WinMD5、Hasher。为了方便日后学习,建议大家将Solr的源码包也一并下载下来。图1-3 Solr下载目标文件1.6 Solr学习资源

为了方便大家学习,Solr官方提供了很多学习资源,如图1-4所示。图1-4 Solr Resources

打开Solr学习资源页面,你将看到官方大致提供了4个资料:

1)Solr Quick Start(即Solr快速上手教程);

2)Solr官方使用指南,获取方式如图1-5所示;图1-5 Solr官方使用指南

3)Solr官方Wiki,如图1-6所示;

4)Solr相关的英文书籍,如《Solr in action》《Solr Cookbook》,这些英文书籍都可以轻易地通过搜索引擎获取。图1-6 Solr官方Wiki

不过,官方提供的资料全是英文资料,这对于英文不太给力的同学来说,理解起来会有一定难度,所以会希望有一本中文教程能用图文并茂的方式以及通俗易懂的语言把这门晦涩难懂的热门技术讲解透彻。这也正是我写这本书的初衷,希望对大家学习Solr带来帮助。1.7 Windows平台下部署Solr

Windows是我们平时学习和开发时最常用的平台,所以首先我将带领大家学习如何在Windows平台下部署Solr,从而更直观地感受Solr的魅力,这也是Solr初学者最迫切的需求。1.7.1 部署Solr至Jetty

从Solr官网下载完Solr安装包后,你将得到一个solr-5.3.1.zip文件,如果你是在Linux平台下,那么将得到一个solr-5.3.1.tgz文件。这里我首先以Windows平台为例,请使用任意解压缩工具,如WinRAR,直接解压到当前文件夹,解压之后你将看到如图1-7所示的目录结构。图1-7 solr5.X解压目录结构

·bin:这里是官方提供的一些安装部署Solr脚本。

·contrib:这里是社区贡献代码,并未正式纳入Solr。

·dist:这里是Solr源码编译后打包好的

·jar包。

·docs:Solr的HTML格式的API文档。

·example:这里是官方提供的Solr索引导入demo。

·licenses:这里列出了Solr遵循的所有开源协议文件。

·server:这个目录有点意思,取名server,有点迷惑人,其实就是一个Jetty。官方为了方便用户快速上手Solr,在其安装包里内置了一个Jetty。

·webapps:这里存放的是Solr的部署包solr.war,这个目录在Solr5.x系列版本中一直都是存在的,不过到Solr6.x版本后,这个目录消失了。其实官方不过是把war包解压到server\solr-webapp目录下。我们可以直接打war包,用命令行下切到solr-webapp\webapp目录下,然后执行如下命令:jar –cvf solr.war ./*

运行Solr最简单的办法就是把war包部署到Jetty容器里,那么首先我们需要去下载安装Jetty,关于Jetty的更多内容,请参考以下网址的内容,这里不再赘述。

·Jetty官网:http://www.eclipse.org/jetty。

·Jetty官方文档:http://www.eclipse.org/jetty/documentation。

·Jetty下载地址:http://download.eclipse.org/jetty/。

如图1-8所示,stable有稳定的意思,表示这是一个稳定版本,tgz是Linux下的压缩包,Windows下请下载zip压缩包,apidocs是Jetty的在线API文档,xref是Jetty的在线源码查看地址,这里我下载的是stable-9版本。Jetty下载下来后,可以解压到任意盘符,这里我直接解压到E盘,并更名为jetty-9.2.10。Jetty提供了一个start.jar来启动Jetty。如果你的jar类型文件默认是自动关联的类似WinRAR的解压软件,那么你双击start.jar是不能运行jar文件的,需要首先关联jar类型文件与Java程序,具体操作如图1-9所示。图1-8 Jetty官网下载地址图1-9 Jar文件与Java程序关联

然后你就可以直接双击start.jar来启动Jetty了。为了操作方便,我们也可以新建一个bat批处理文件,如图1-10所示。

使用任意一款你喜爱的文本编辑软件打开startup.bat文件,编辑内容如下:echo "begin start the jetty......"java -jar %cd%/start.jar图1-10 Jetty启动脚本

然后双击bat文件即可启动Jetty,为了方便,我们可以为startup.bat创建桌面快捷方式,Jetty启动后如图1-11所示。图1-11 Jetty启动后效果图

如果你的操作系统开启了防火墙,那么Jetty启动过程中可能会弹出如图1-12的确认提示框,请选择允许访问。图1-12 Jetty启动被系统防火墙拦截示意图

如果需要关闭Jetty,我们只需要关闭dos窗口即可,当然还有另一个方式来启动和关闭jetty,命令如下:

·启动:java -DSTOP.PORT=8009 -DSTOP.KEY=123 -jar start.jar

·关闭:java -DSTOP.PORT=8009 -DSTOP.KEY=123 -jar start.jar –stop

为了方便操作,我们也可以把上面的命令写入bat文件,一个startup.bat用来启动Jetty,一个shutdown.bat用来关闭Jetty。然后设置Jetty的环境变量,如图1-13和图1-14所示。图1-13 JETTY_HOME系统环境变量设置图1-14 JETTY_LOGS系统环境变量设置

这一切准备工作做好后,我们需要把war包复制到Jetty的webapps目录下,如图1-15所示:图1-15 Solr.war包放置目录示意图

在Jetty根目录下新建文件夹solr-webapp和contexts,然后将E:\solr-5.3.1\server\contexts目录下的solr-jetty-context.xml文件复制至E:\jetty-9.2.10\contexts目录下,然后打开E:\jetty-9.2.10\contexts\solr-jetty-context.xml对其稍作修改,配置如下代码所示:/webapps/solr.war/etc/webdefault.xmltrue

接着将server\lib\ext目录下的所有jar包复制到Jetty的lib\ext目录下,如图1-16所示。图1-16 Jetty的lib\ext目录下需要放置的jar包截图

然后你需要在Jetty根目录下创建一个文件夹作为我们的solr_home,如图1-17所示。图1-17 Jetty安装根目录新建SOLR_HOME目录

然后复制solr的server\solr目录下的solr.xml文件至刚刚新建的solr_home目录下,并且在solr_home目录下新建一个core目录,core名称命名支持自定义,这里取名为core1,如图1-18所示。图1-18 新建core目录

紧接着将solr的server\solr\configsets\basic_configs\conf目录下的一些配置文件复制到刚刚新建的core1的conf目录下,如图1-19和图1-20所示。图1-19 复制conf下的配置文件

注意:除了rest manaaed.ison文件,其余全部复制。图1-20 新建Core的conf目录示意图

上述准备工作都完成后,双击Jetty的start.bat文件启动Jetty,然后打开浏览器输入http://localhost:8983/solr访问Solr的Web后台,如果你能看到如图1-21所示的界面,那么恭喜你,solr5.3.1部署成功了!图1-21 Solr启动后效果图

Jetty的默认启动端口号是8983,你可以通过${JETTY_HOME}/start.ini配置文件进行修改,具体配置如下所示:# ---------------------------------------# Module: http--module=http### HTTP Connector Configuration## HTTP port to listen onjetty.port=8983## HTTP idle timeout in millisecondshttp.timeout=30000## HTTP Socket.soLingerTime in seconds. (-1 to disable)# http.soLingerTime=-1注意

修改完端口号后,请重启Jetty使配置生效。1.7.2 部署Solr至Tomcat

需要说明的是,这里对Tomcat版本没过多要求,你只需要确保Tomcat能正常启动。

其实Solr在Tomcat容器下的部署跟Jetty差不多,首先,你需要把我们在上一章节打包好的solr.war文件复制到Tomcat的webapps目录下,如图1-22所示。图1-22 solr.war包放置到Tomcat的webapps目录下

启动你的Tomcat,如图1-23所示。图1-23 启动Tomcat Server

然后修改webapps\solr\WEB-INF下的web.xml配置文件,如图1-24所示。图1-24 web.xml配置

这里我把solr_home目录设置为C:/solr_home,其实solr_home完全可以自定义。然后我们需要去C盘创建一个solr_home文件夹,这就是SOLR_HOME的根目录啦,如图1-25所示。图1-25 创建${SOLR_HOME}目录

这里的solr_home目录其实就好比我们在上一章节里在Jetty根目录下创建的solr目录,所以为了简便,可以直接将上一章节里创建的solr文件夹下的所有文件及文件夹全部复制到当前solr_home目录下,然后把E:\solr-5.3.1\server\lib\ext目录下的所有jar包复制到E:\apache-tomcat-7.0.55\webapps\solr\WEB-INF\lib目录下,如图1-26所示。图1-26 Tomcat的lib目录下依赖的jar包截图

接下来,在E:\apache-tomcat-7.0.55\webapps\solr\WEB-INF目录下手动创建一个classes文件夹,用于放置log4j配置文件,并将E:\solr-5.3.1\server\resources目录下的log4j.properties配置文件复制到新建的classes文件夹下,之后重启我们的Tomcat,不出意外的话,Tomcat会启动成功并且会重新部署Solr。最后,请打开浏览器,在地址栏输入http://localhost:8080/solr访问Solr的Web后台,如果你能看到Solr的Web界面,就表明你的Solr5.3.1在Tomcat中部署成功了!

Tomcat的默认端口号是8080,当你想在一台机器上运行多个Tomcat实例的时候,有可能需要修改Tomcat的默认端口号。请打开tomcat\conf目录下的server.xml进行编辑,修改完成后保存退出,重启你的Tomcat使其立即生效。修改Tomcat的端口号示例如下:1.8 Linux平台下部署Solr

假定你有一台Linux服务器且已经安装好JDK7+以及Tomcat,这些运行环境的搭建不属于本书的主题,所以这里不做过多说明。关于这方面的资料请查阅相关资料。这里我以CentOS6.5为例进行讲解。

首先,需要下载Solr的安装包,你可以在Linux里直接通过wget命令下载,也可以先在Windows平台下载好,再通过其他方式,如rz命令上传至Linux服务器的指定目录下。

1.通过wget命令下载

在Solr官方下载页面里,右键审查元素查看tgz压缩包文件的下载URL,如图1-27所示。图1-27 获取solr下载URL

这里的URL是相对路径,是相对当前页面的访问URL,因此最后完整的下载URL是:http://mirror.bit.edu.cn/apache/lucene/solr/5.3.1/solr-5.3.1.tgz,知道了如何下载URL,那接下来就可以在Linux里通过wget直接下载了,命令如下:wget http://mirror.bit.edu.cn/apache/lucene/solr/5.3.1/solr-5.3.1.tgz

2.在Windows平台下载再上传到Linux

可以使用rz命令进行文件上传,但我建议使用Xftp工具进行文件上传下载操作,至于Xftp工具如何下载安装以及如何操作使用,请自行查询并学习,这里不做说明。

上传完成后你需要使用tar命令解压缩solr-5.3.1.tgz,tar –zxf solr-5.3.1.tgz

然后需要在solr的web.xml里配置solr_home目录,使用vi对/opt/solr-5.3.1/server/solr-webapp/webapp/WEB-INF下的web.xml进行编辑,如图1-28所示。图1-28 使用vi编辑web.xml

修改完成后保存退出,我们需要将其打成war包方便部署,先将当前目录切换至/opt/solr-5.3.1/server/solr-webapp/webapp,然后使用zip命名进行打包压缩,使用命令如下:

试读结束[说明:试读内容隐藏了图片]

下载完整电子书


相关推荐

最新文章


© 2020 txtepub下载