跟益达学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/
跟益达学Solr5之使用Jetty部署Solr_第1张图片
     而且我已经把Jetty stable-9的zip包上传到我的百度网盘了,你们也可以从我分享的百度网盘地址去下载:

     jetty-stable-9.zip

    jetty下载下来后,解压到任意盘符,这里我是解压到E盘,截图后如图:
跟益达学Solr5之使用Jetty部署Solr_第2张图片
      因为默认解压后的文件夹名称太长,我看的不舒服,所以我更名为jetty-9.2.10,所以你们不要感到诧异。jetty提供了一个start.jar来启动jetty,如图:
跟益达学Solr5之使用Jetty部署Solr_第3张图片
     这样start.jar包就跟java程序关联了,我们就可以直接双击start.jar来启动jetty,但为了方便我们使用Jetty,也可以新建一个bat批处理文件,如图:
跟益达学Solr5之使用Jetty部署Solr_第4张图片
       用记事本或者其他文本编辑软件打开startup.bat文件,编辑内容如下:
跟益达学Solr5之使用Jetty部署Solr_第5张图片

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

    然后我们双击bat文件即可启动jetty,为了方便,我们可以为startup.bat创建桌面快捷方式,jetty启动后如图:
跟益达学Solr5之使用Jetty部署Solr_第6张图片
      如果需要关闭Jetty,我们只需要关闭dos窗口即可,当然我们还有另一个方式来启动和关闭jetty,命令如下:

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

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

   具体操作如图:
跟益达学Solr5之使用Jetty部署Solr_第7张图片
 如果需要关闭Jetty,那么需要再另起一个dos窗口,如图操作:
跟益达学Solr5之使用Jetty部署Solr_第8张图片
     为了方便操作,我们也可以把上面的命令写入bat文件,一个startup.bat用来启动Jetty,一个shutdown.bat用来关闭Jetty,你懂的。

    然后设置下Jetty的环境变量,如图:   
跟益达学Solr5之使用Jetty部署Solr_第9张图片
 
跟益达学Solr5之使用Jetty部署Solr_第10张图片
 

 

    

    接下来,我们需要去Solr官方下载Solr的zip包,如图操作:
跟益达学Solr5之使用Jetty部署Solr_第11张图片
 
跟益达学Solr5之使用Jetty部署Solr_第12张图片
 
跟益达学Solr5之使用Jetty部署Solr_第13张图片
 然后等待几秒,页面会自动跳转至:
跟益达学Solr5之使用Jetty部署Solr_第14张图片
 如果页面没有正常跳转,你也可以如图去点击链接手动跳转至下载页面,如图操作:
跟益达学Solr5之使用Jetty部署Solr_第15张图片
 

    

  

 
跟益达学Solr5之使用Jetty部署Solr_第16张图片
 然后你会看到这样一个页面:
跟益达学Solr5之使用Jetty部署Solr_第17张图片
 挑选一个你想要的版本进行下载,你懂的。什么?你嫌麻烦?我已经把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盘,如图:

     
跟益达学Solr5之使用Jetty部署Solr_第18张图片
跟益达学Solr5之使用Jetty部署Solr_第19张图片
 解压后,如图:
跟益达学Solr5之使用Jetty部署Solr_第20张图片
    上图中contrib部分的“它属于正式源码部分”应该改为“它不属于正式源码部分”,少打了一个【不】字,特此说明!!!!!! 

 

然后我们需要找到solr的部署包solr.war文件,如图:
跟益达学Solr5之使用Jetty部署Solr_第21张图片
 我们需要把solr.war包copy到jetty的webapps目录下,如图:
跟益达学Solr5之使用Jetty部署Solr_第22张图片
    

    然后在Jetty根目录下新建文件夹solr-webapp和contexts,
跟益达学Solr5之使用Jetty部署Solr_第23张图片
 然后从solr的server\contexts目录下将solr-jetty-context.xml复制到jetty的contexts目录下,如图:
跟益达学Solr5之使用Jetty部署Solr_第24张图片
 
跟益达学Solr5之使用Jetty部署Solr_第25张图片
 

     接着将solr的server\lib\ext目录下的所有jar包复制到jetty的lib\ext目录下,如图:
跟益达学Solr5之使用Jetty部署Solr_第26张图片
 
跟益达学Solr5之使用Jetty部署Solr_第27张图片
    接着在jetty根目录下新建一个文件夹solr,如图:
跟益达学Solr5之使用Jetty部署Solr_第28张图片
     然后复制solr的server\solr目录下的solr.xml文件至jetty的solr目录下,如图:

跟益达学Solr5之使用Jetty部署Solr_第29张图片
 
跟益达学Solr5之使用Jetty部署Solr_第30张图片

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

跟益达学Solr5之使用Jetty部署Solr_第31张图片
跟益达学Solr5之使用Jetty部署Solr_第32张图片
   复制solr的server\solr\configsets\basic_configs\conf目录下的solrconfig.xml至jetty下的solr/collection1/conf目录下,如图:
跟益达学Solr5之使用Jetty部署Solr_第33张图片
 
跟益达学Solr5之使用Jetty部署Solr_第34张图片
 用文本编辑软件打开jetty的solr\collection1\conf目录下的solrconfig.xml配置进行编辑,将依赖的lucene版本号由5.0.0修改为5.1.0,如图:
跟益达学Solr5之使用Jetty部署Solr_第35张图片
 然后双击jetty根目录下的startup.bat启动jetty,如图:

跟益达学Solr5之使用Jetty部署Solr_第36张图片
 
跟益达学Solr5之使用Jetty部署Solr_第37张图片
 然后打开浏览器输入http://localhost:8080/solr访问Solr的web后台,如果你能看到如图界面,那么恭喜你,solr5部署成功了!!!

   
跟益达学Solr5之使用Jetty部署Solr_第38张图片
         OK,打完收工,这是业界良心啊,有谁有我写的这么详细图文并茂的?写这篇博客花了我3个小时,你们造吗?只为了能为Solr新手学习Solr提供一些帮助。

 

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

或者加裙
一起交流学习!

    
 

   

    

      

 

   

    

    

 

 

     

     
 

 

 

    

   

    

        

    

     

    

你可能感兴趣的:(Solr,jetty)