Tomcat7中部署Solr3.6.1

来源:互联网 发布:淘宝店铺更改为基础版 编辑:程序博客网 时间:2024/06/05 10:52

博客原文地址:http://blog.csdn.net/tangyajun_168/article/details/7986265

一、下载apache-solr-3.6.1.zip文件( http://www.apache.org/dyn/closer.cgi/lucene/solr/)
二、解压apache-solr-3.6.1.zip文件,将apache-solr-3.6.1\dist中的apache-solr-3.6.1.war文件复制到tomcat7中的webapp目录下并改名为solr.war
三、新建目录d:/home,将apache-solr-3.6.1\example\solr目录拷贝到d:/home目录下
四、在%TOMCAT_HOME%\conf\Catalina\localhost(如果没有Catalina目录和localhost目录,则手动创建)目录下新建solr.xml(名字可以随便取,最好有实际意义),创建Context 指定solr/home目录,如下:
<Context docBase="../../solr.war" >
  <Environment name="solr/home" type="java.lang.String" value="D:/Program Files/worksoftware/home/solr" override="true" />
</Context>
docBase中的路径可以是相对路径或绝对路径(docBase中可以指定weapps目录下的应用或war文件的路径),如果不指定docBase属性,tomcat默认中webapps中查找solr.war文件,如果是相对路径是相对%TOMCAT_HOME%conf/server.xml中Host元素中appBase属性指定的路径,Environment元素中name属性是指定JNDI的名称,在这里JNDI为java:comp/solr/home,value中的值可以为相对或绝对路径(如果是相对路径是相对%TOMCAT_HOME%conf/server.xml中Host元素中appBase属性指定的路径(value中的值为可以转换成type属性中指定的类型)

五、修改tomcat中conf目录下的server.xml文件,在connector 节点中添加 字符编码属性 URIEncoding,如下
<Connector port="8086" protocol="HTTP/1.1" 
               connectionTimeout="20000" URIEncoding="UTF-8"
               redirectPort="8443" />

起动tomcat,在浏览器中输入http://localhost:8086/solr

Tomcat实例中配置多个Solr应用

1.安装Tomcat,修改%TOMCAT_HOME%conf/server.xml,在Connector连接器中添加字符编码属性(跟前面的方法一样)
2.下载和解压solr dist zip文件,例:d:/solrZip/
3.创建两个应用,例:d:/home/solr1,d:/home/solr2/,将apache-solr-3.6.1\example\solr目录分别拷贝到两个应用目录中
4.将apache-solr-3.6.1/dist/目录下的apache-solr-3.6.1.war拷贝到%TOMCAT_HOME%webapps/目录中,并将apache-solr-3.6.1.war重命名为solr.war。
5.在%TOMCAT_HOME%\conf\Catalina\localhost\(如果没有Catalina目录和localhost目录,则手动创建)目录下创建solr1.xml和solr2.xml文件并添加Context元素,如下:

<Context docBase="../../solr.war" >
  <Environment name="solr/home" type="java.lang.String" value="D:/Program Files/worksoftware/home/solr1" override="true" />
</Context>
<Context docBase="../../solr.war" >
  <Environment name="solr/home" type="java.lang.String" value="D:/Program Files/worksoftware/home/solr2" override="true" />
</Context>