Solr的在web容器中的运行方式
Solr是一个基于servlet的服务程序,需要servlet容器的支持。
在example中,Solr实例采用的是基于jetty容器的。同样,也可以实现基于tomcat容器的配置。
一、solr基于jetty容器的运行
参考:
wiki:http://wiki.apache.org/solr/SolrJetty
http://lucidworks.lucidimagination.com/display/solr/Running+Solr+on+Jetty
http://lucene.apache.org/solr/api-4_0_0-BETA/doc-files/tutorial.html
我在example目录下写了一个bat启动文件:solr_start.bat内容如下:
java -Dsolr.solr.home=solr -jar start.jar pause
通过solr.solr.home来指派solr 实例的home目录中。
通过solr.home.home属性可以运行不同的solr实例,若同一台主机上,要对jetty服务器设置不同的监听端口。
双击solr_start.bat启动jetty;
在浏览器中输入:http://localhost:8983/solr/进入solr的管理界面:
可以在浏览器中体验solr的各种功能。如solr的tutorial中使用。
二、solr在tomcat容器中运行 方法一:
参考:http://wiki.apache.org/solr/SolrTomcat
下载tomcat7.0 并将其解压:
使用tomcat容容器运行solr的方法一:
<1> 将 D:\wzb\solr4.0\apache-solr-4.0.0\apache-solr-4.0.0-ALPHA\example\webapps\solr.war
将其解压,并将解压后文件夹重命名为solr,将solr复制到tomcat的webapp中
(即:D:\wzb\tomcat\apache-tomcat-7\webapps中;)
<2>进该solr目录中的WEB-INFO目录中修改web.xml文件,即:
D:\wzb\tomcat\apache-tomcat-7\webapps\solr\WEB-INF\web.xml文件中的:
<!-- Peoplewho want to hardcode their "Solr Home" directly into the WAR Filecan set the JNDI property here... --> <!-- <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> -->
修改为:
<!-- People who want to hardcode their "Solr Home" directly into the WAR File can set the JNDI property here... --> <env-entry> <env-entry-name>solr/home</env-entry-name> <env-entry-value>D:\wzb\solr4.0\apache-solr-4.0.0\apache-solr-4.0.0-ALPHA\example\solr</env-entry-value> <env-entry-type>java.lang.String</env-entry-type> </env-entry>
<3> 启动tomcat,通过浏览器输入:http://localhost:8080/solr
即可进入到solr的管理界面,同样可以像tutorial中使用solr了。
<1> 将D:\wzb\solr4.0\apache-solr-4.0.0\apache-solr-4.0.0-ALPHA\example\webapps\solr.war
解压,并将解压后文件夹重命名为solr,将solr复制到tomcat的mywebapp中,
(为了与方法一种solr区别,在tomcat目录中新建了一个mywebapps目录)
即:D:\wzb\tomcat\apache-tomcat-7\mywebapps中
<2>、在D:\wzb\tomcat\apache-tomcat-7\conf\Catalina\localhost目录中新建
一个配置文件mysolr.xml其内容如下:
<ContextdocBase="../mywebapps/solr" crossContext="true" <Environment name="solr/home" type="java.lang.String" value="D:\wzb\solr4.0\apache-solr-4.0.0\apache-solr-4.0.0-ALPHA\example\solr" override="true" /> </Context>
<3>重启tomcat,通过浏览器输入:http://localhost:8080/mysolr
即可进入到solr的管理界面,同样可以像tutorial中使用solr了。
以上是三种比较简单的部署并运行solr的方式。