有没有办法在tomcat 7中集成apache solr,还是我必须在我的应用程序中运行两个服务器?可以在tomcat中运行apache solr而不是作为单独的服务器吗?
答案 0 :(得分:0)
官方答案是:将其作为独立应用程序运行。
不再支持
从Solr 5.0开始,不再支持在像Tomcat这样的servlet容器中将Solr部署为WAR的支持。
有关如何将Solr安装为独立服务器的信息,请参阅Installing Solr。
可以找到有关此移动决策的背景信息on the Solr Wiki。
Solr旨在成为服务器而非Java Web应用程序,类似于mysql或Apache Web服务器。首次创建Solr时,将其设计为Web应用程序是一个方便的选择,以避免编写大量棘手的代码来构建网络层。如今,这一设计决定已成为一个限制因素。
下载Solr并将其安装到您的计算机上时,它应该是Solr才能启动。在它工作之前,不必将Solr安装到第三方应用程序(servlet容器)中。
目前,Solr仍然是一个webapp,但这是一个内部实现细节,而不是一个不可变属性。目的是使Solr成为一个完全独立的应用程序。启动包含容器的启动脚本是实现该目标的第一步。一旦Solr成为独立应用程序,Jetty可能仍然是使用的技术,但如果发生这种情况,它将在内部嵌入。
答案 1 :(得分:0)
Solr
仍然是一个网络应用。他们建议不要在另一个servlet容器中使用它,因为它们没有被推荐和测试。
他们正在提供经过全面测试的系统,并且不希望其他人(开发人员)花时间用其他容器进行测试。
我使用了solr
3.4版本并将其部署在端口8080上的tomcat服务器中。
我的应用程序部署在8080端口的另一个tomcat
,并且在另一台机器上。
我已经创建了solr war并在tomcat中部署了它。并且该服务器的只有8080端口是打开的,只能由我们的应用程序访问。
我不确定solr
版本5 ...即。是否可以在jetty
以外的其他容器中部署...但我认为它可以部署在tomcat
...你需要尝试相同...
其他的事情是,不要在同一个容器或单个容器中进行应用程序战争和solr
战争。原因是如果其中一个应用程序发生故障,一切都将失效。
如果solr
发生故障,那么应用程序可能会关闭,这对应用程序来说并不好。