二、Solr安装(Tomcat)

系统 1636 0

安装环境

Windows 7 64bit

Apache-tomcat-8.0.9-windows-x64

Solr-4.9.0

JDK 1.8.0_05 64bit

 

安装步骤

Tomcat和JDk的安装在这里就略过。

注意:solr4.9要求jdk1.7+

 

步骤一:

    解压solr-4.9.0到任意文件夹,我解压到D:\Installed Applications\solr-4.9.0\solr-4.9.0目录下。

步骤二:

    将solr-4.9.0\dist\ solr-4.9.0.war复制到Tomcat webapp/目录下,最好重命名为solr.war。

步骤三:

    启动Tomcat,会报错,这步只是为了将solr-4.9.0.war解压,所以手动解压放在webapp目录下面也是可行的。

步骤四:

方法一:

    打开webapps\solr\WEB-INF\web.xml

    找到:

      
        <!--
      
      
        

<env-entry>

   <env-entry-name>solr/home</env-entry-name>

   <env-entry-value>/put/your/solr/home/here</env-entry-value>

   <env-entry-type>java.lang.String</env-entry-type>

</env-entry>


      
      
        -->
      
    

 

这里是需要配置solr/home,只需要修改<env-entry-value>/put/your/solr/home/here</env-entry-value>

 

这个目录可以自定义,建议就用步骤一解压的目录,这里需要非常注意:在Solr官网的Tutorial里面有如下一段话:

How Solr Works with Tomcat

The two basic steps for running Solr in any Web application container are as follows:

  1. Make the Solr classes available to the container. In many cases, the Solr Web application archive (WAR) file can be placed into a special directory of the application container. In the case of Tomcat, you need to place the Solr WAR file in Tomcat's webapps directory. If you installed Tomcat with Solr, take a look in tomcat/webapps:you'll see the solr.war file is already there.
  2. Point Solr to the Solr home directory that contains conf/solrconfig.xml and conf/schema.xml. There are a few ways to get this done. One of the best is to define the solr.solr.home Java system property. With Tomcat, the best way to do this is via a shell environment variable, JAVA_OPTS. Tomcat puts the value of this variable on the command line upon startup

 

从这里可以看出,<env-entry-value>指向的目录需要包含conf/solrconfig.xml和conf/schema.xml这两个文件,也就意味着在<env-entry-value>所指向的目录中需要有conf子目录,我就是因为官网的这段解释,搞了半天没有成功,其实是我理解错了,我认为在solr.solr.home目录下必须要有子目录conf,conf里面包含solrconfig.xml和schema.xml。但是其实conf目录是放在collection1目录下面的,collection是solr的一个Instance实例,solr中可以配置多个collection,可以有独立的配置文件。

我这边web.xml的配置为:

      
        <
      
      
        env-entry
      
      
        >
      
      
        <
      
      
        env-entry-name
      
      
        >
      
      solr/home
      
        </
      
      
        env-entry-name
      
      
        >
      
      
        <
      
      
        env-entry-value
      
      
        >
      
      D:/Installed Applications/solr-4.9.0/solr-4.9.0/example
      
        </
      
      
        env-entry-value
      
      
        >
      
      
        <
      
      
        env-entry-type
      
      
        >
      
      java.lang.String
      
        </
      
      
        env-entry-type
      
      
        >
      
      
        </
      
      
        env-entry
      
      
        >
      
    

 

特别需要注意配置里面使用的是反斜杠"/",而不是windows下默认的"\"。

这里我是直接指向example文件夹。

 

方法二 ( 个人推荐 )

在$TOMCAT_HOME/conf/Catalina/localhost目录下新建solr.xml文件,内容为:

      
        <
      
      
        Context 
      
      
        path
      
      
        ="/solr"
      
      
         docBase
      
      
        ="… /tomcat/webapps/solr.war" 
      
      
        debug
      
      
        ="0"
      
      
         crossContext
      
      
        ="true"
      
      
        >
      
      
        <
      
      
        Environment 
      
      
        name
      
      
        ="solr/home"
      
      
         type
      
      
        ="java.lang.String"
      
      
         value
      
      
        =" D:/Installed Applications/solr-4.9.0/solr-4.9.0/example "
      
      
         override
      
      
        ="true"
      
      
        />
      
      
        

  这边需要注意,override需要设置为false,否则每次启动tomcat都会重新解压war文件覆盖掉之前的配置,或者手动解压后,把context path直接指向文件夹
        
</ Context >

 

步骤五:

    将solr-4.9.0\example\solr目录下的collection1目录整体copy到solr-4.9.0\example目录下。读者可以自己自定义路径,web.xml中定义的<env-entry-value></env-entry-type>,这个指向的目录包含collection1目录就好了。

步骤六:

    将D:\Installed Applications\solr-4.9.0\solr-4.9.0\example\lib\ext目录下的jar包copy到apache-tomcat-8.0.9\lib目录下,也可以copy到webapps\solr\WEB-INF\lib下,读者可以自行选择(全局和局部的问题而已)。(如果启动还是报错,可以根据提示在solr-4.9.0\dist中找相应的jar包)。

步骤七:

    打开Tomcat conf目录下的server.xml,找到下面一段代码添加URIEncoding="UTF-8",添加中文支持。

      
        <
      
      
        Connector 
      
      
        port
      
      
        ="8080"
      
      
         protocol
      
      
        ="HTTP/1.1"
      
      
        

           connectionTimeout
      
      
        ="20000"
      
      
        

           redirectPort
      
      
        ="8443"
      
      
        

           URIEncoding
      
      
        ="UTF-8"
      
      
        />
      
    

 

步骤八:

    启动Tomcat,打开浏览器输入:http://localhost:8080/solr/admin/,看到启动画面就说明安装成功。

  二、Solr安装(Tomcat)

 

总结

由上面的安装步骤可以看出来,其中步骤四是最核心的一步,这里面需要了解Solr的运行原理:Solr是类似于Http接口的一种服务,它需要在Web容器(这里是Tomcat)中部署,运行后,应用程序用Http请求的方式和Solr交互,包括添加索引、查询等等。所以我们需要在Web容器中部署Solr,并且在Tomcat配置中指明Solr配置的目录。

在Linux下的安装方法跟Windows下没有大的区别。

 

二、Solr安装(Tomcat)


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论