跟益达学Solr5之使用Jetty部署Solr

 开始之前,你首先需要了解Solr是什么,以下是百度百科里对Solr的解释:

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

 

文档通过Http利用XML 加到一个搜索集合中。

查询该集合也是通过http收到一个XML/JSON响应来实现。它的主要特性包括:高效、灵活的缓存功能,垂直搜索功能,高亮显示搜索结果,通过索引复制来提高可用性,提供一套强大Data Schema来定义字段,类型和设置文本分析,提供基于Web的管理界面等。

      Solr之与Lucene就好比hibernate之与JDBC,所以学好Solr前提是需要有点Lucene基础,但这样不是必要条件,你可以不知道Lucene而直接学习Solr,只是学习坡度会稍微大一些。

      把Solr运行起来最简单的办法就是把它部署到Jetty容器里,那么首先我们需要去下载安装Jetty,如果你不知道Jetty是什么,请自己Google了解去,这里就不赘述了。

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

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

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

     而且我已经把Jetty stable-9的zip包上传到我的百度网盘了,你们也可以从我分享的百度网盘地址去下载:

     jetty-stable-9.zip

    jetty下载下来后,解压到任意盘符,这里我是解压到E盘,截图后如图:

      因为默认解压后的文件夹名称太长,我看的不舒服,所以我更名为jetty-9.2.10,所以你们不要感到诧异。jetty提供了一个start.jar来启动jetty,如图:

     这样start.jar包就跟Java程序关联了,我们就可以直接双击start.jar来启动jetty,但为了方便我们使用Jetty,也可以新建一个bat批处理文件,如图:

       用记事本或者其他文本编辑软件打开startup.bat文件,编辑内容如下:

Txt代码  

  1. echo "begin start the jetty......"  
  2. java -jar %cd%/start.jar  

    然后我们双击bat文件即可启动jetty,为了方便,我们可以为startup.bat创建桌面快捷方式,jetty启动后如图:

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

Txt代码  

  1. 启动  
  2. java -DSTOP.PORT=8009 -DSTOP.KEY=123 -jar start.jar  
  3.   
  4. 关闭  
  5. java -DSTOP.PORT=8009 -DSTOP.KEY=123 -jar start.jar --stop   

   具体操作如图:

 如果需要关闭Jetty,那么需要再另起一个dos窗口,如图操作:

     为了方便操作,我们也可以把上面的命令写入bat文件,一个startup.bat用来启动Jetty,一个shutdown.bat用来关闭Jetty,你懂的。

    然后设置下Jetty的环境变量,如图:   

 

 

 

    

    接下来,我们需要去Solr官方下载Solr的zip包,如图操作:

 

 

 然后等待几秒,页面会自动跳转至:

 如果页面没有正常跳转,你也可以如图去点击链接手动跳转至下载页面,如图操作:

 

    

  

 

 然后你会看到这样一个页面:

 挑选一个你想要的版本进行下载,你懂的。什么?你嫌麻烦?我已经把Solr-5.1.0.zip上传到我的百度网盘,为了方便你们,现分享给你们:

      Solr-5.1.0.zip

      Solr-5.1.0源码

      Solr-5.1.0-API文档.chm

      这里我以最新版本5.1.0为例,Solr下载下来后,直接解压到任意盘符,这里我是直接解压到E盘,如图:

     


 解压后,如图:

    上图中contrib部分的“它属于正式源码部分”应该改为“它不属于正式源码部分”,少打了一个【不】字,特此说明!!!!!! 

 

然后我们需要找到solr的部署包solr.war文件,如图:

 我们需要把solr.war包copy到jetty的webapps目录下,如图:

    

    然后在Jetty根目录下新建文件夹solr-webapp和contexts,

 然后从solr的server\contexts目录下将solr-jetty-context.xml复制到jetty的contexts目录下,如图:

 

 

     接着将solr的server\lib\ext目录下的所有jar包复制到jetty的lib\ext目录下,如图:

 

    接着在jetty根目录下新建一个文件夹solr,如图:

     然后复制solr的server\solr目录下的solr.xml文件至jetty的solr目录下,如图:


 

    然后在jetty的solr目录下新建文件夹,如图:



   复制solr的server\solr\configsets\basic_configs\conf目录下的solrconfig.xml至jetty下的solr/collection1/conf目录下,如图:

 

 用文本编辑软件打开jetty的solr\collection1\conf目录下的solrconfig.xml配置进行编辑,将依赖的lucene版本号由5.0.0修改为5.1.0,如图:

 然后双击jetty根目录下的startup.bat启动jetty,如图:


 

 然后打开浏览器输入http://localhost:8080/solr访问Solr的web后台,如果你能看到如图界面,那么恭喜你,solr5部署成功了!!!

   

         OK,打完收工,这是业界良心啊,有谁有我写的这么详细图文并茂的?写这篇博客花了我3个小时,你们造吗?只为了能为Solr新手学习Solr提供一些帮助。

 

         如果你还有什么问题请加我Q-Q:7-3-6-0-3-1-3-0-5,

或者加裙
一起交流学习!

转载:http://iamyida.iteye.com/blog/2207813

时间: 2024-11-08 18:57:51

跟益达学Solr5之使用Jetty部署Solr的相关文章

跟益达学Solr5之使用Tomcat部署Solr

  最近忙着面试以及生活琐事把时间都霸占了,博客拖了4天没更新了,让各位久等了,望多多包涵!不过还好,工作已经敲定了,终于可以安心的学习Solr并分享我学习的点点滴滴啦!         上回我们在Jetty下部署了,不过我想小伙伴们使用Tomcat还是要多点,所以这回我们就来试试把Solr5部署到Tomcat下,这里以Win7 64bit Tomcat7.0.55为例,linux环境下同理,没太大区别:         首先你要去Solr官网下载Solr5.x的zip压缩包,至于怎么下载我这里

跟益达学Solr5之从MySQL数据库导入数据并索引

  最近有小伙伴跟我抱怨说:益达,最近博客更新的有点慢呐.其实不是我变懒了,我是不想因为数量而降低了博客的质量,我需要抱着对你们负责的态度来写每一篇博客,绝不能含糊啊,所以,还望大家多多包涵呐. 今天群里一朋友问我Solr如何对数据库表里的数据进行索引,为此,今晚特地更新此篇博客,这里我以Solr当前最新版本5.1.0,数据库MySQL为例进行讲解说明. 首先我们需要准备一张测试表,如图:      测试表创建好了之后,我们需要让表里插入几条测试数据,如图:  然后需要把E:\solr-5.1.

跟益达学Solr5之批量索引JSON数据

     假定你有这样一堆JSON数据,   Json代码   [     {"id":"1", "name":"Red Lobster", "city":"San Francisco, CA", "type":"Sit-down Chain", "state":"California", "tag

跟益达学Solr5之增量索引MySQL数据库表数据

   Solr5中如何增量索引MySQL数据库表中的数据,这个问题之前有某个童鞋问过我,今天午休时间就腾空更新篇博客,希望能帮助到你们.        为了测试方便,我首先从京东网站弄了点测试数据,如图:    这里要声明下,我不是在给京东商城打广告哈,仅仅是随便找个网站弄点测试数据,这部分工作全是我无聊手动插入MySQL数据库中的,如图:  建表SQL以及测试数据,我待会儿会上传到底下的附件里.然后你需要在solrconfig.xml配置文件中启用全量导入和增量导入请求处理器,如图:  然后分

跟益达学Solr5之使用IK分词器

   在Solr中该如何使用IK分词器呢,这是小伙伴们问的频率比较高的一个问题,今晚特此更新此篇博客.其实之前我在其他博客里已经使用了IK分词器,只是我没做详细说明.        在schema.xml配置中其实有很多关于分词器的配置示例,我从中摘录一段配置示例,比如: Xml代码   <fieldType name="text_general" class="solr.TextField" positionIncrementGap="100&qu

跟益达学Solr5之在Eclipse下编译Solr5源码

    2015年6月7日,Solr已经更新到5.2.0,所以这里我以5.2.0版本为例,你使用Solr5.x都是类似的区别不大.开始之前,首先你需要去Solr官网去下载Solr5源码,如图:          taz包其实是可以使用Winrar解压的,解压后如图:  我是解压到F:\javazipfile目录下,官方默认提供的源码包并不是一个标准的Eclipse Java Project,需要使用ivy进行构建,通过ivy的构建可以将下载下来的源码包转换成一个标准的Java Project,然

跟益达学Solr5之使用MMSeg4J分词器

   要想在Sor中使用MMSeg4J分词器,首先你需要自定义一个TokenizerFactory实现类,虽然直接配置Analyzer类也可以,但那样无法配置Analyzer构造函数的参数,不够灵活,存在弊端,所以我一直都是以扩展TokenizerFactory的方式来讲解类似MMSeg4J这样的中文分词器在Solr中的使用.       MMSegTokenizerFactory类我花了3个多小时修改了源码并经过N多测试,表示已经可以使用,我主要的是针对Lucene5 API对MMSegTok

跟益达学Solr5之拼音分词

 应群友强烈要求,特此更新此篇博客.其实在我的Lucene5系列博客里我已经介绍了拼音分词,遗憾的是,大家不能举一反三,好吧,还是我亲自上马吧!         首先我们来看看我当初使用Lucene5是如何实现的,  在Solr5中,我们只需要为IKTokenizer扩展一个IKTokenizerFactory,为PinyinTokenFilter扩展一个PinyinTokenFilterFactory,为PinyinNGramTokenFilter扩展一个PinyinNGramTokenFil

跟益达学Solr5之使用Ansj分词器

        OK,直接开门见山,不绕弯子啦!基于上篇博客,我们知道了在Solr中配置分词器有两种方式,一种是直接配置分词器类,比如: Xml代码   <fieldType name="text_ik" class="solr.TextField">                 <analyzer class="org.wltea.analyzer.lucene.IKAnalyzer" />         <