我需要在tomcat上运行我的Java webapp以及同一台机器上的数据库添加搜索功能。
因为我打算在同一台机器上使用Solr,但应该使用哪种实现?我认为嵌入式更优选,因为我需要从同一台机器添加数据,因此通过HTTP添加不会有多大意义,不是吗? &安培;而且,将Solr作为单独的Web应用程序运行会比嵌入式应用程序消耗更多资源(不是吗?)。
但是现在use of EmbeddedSolrServer is not recommended,当人们需要将Solr与Web应用程序保持在同一台机器上时,人们如何使用Solr?
答案 0 :(得分:2)
您可以将Solr设置为您用于Web应用程序的同一个Tomcat中的另一个“Web服务”,进行正确配置并通过HTTP / REST界面使用它。或者,您也可以使用开箱即用的Jetty容器。请查看有关如何在此处安装的详细信息:http://wiki.apache.org/solr/SolrInstall。
我不相信使用嵌入式solr会消耗(更多)更少的资源...如果你真的不想分开东西(应用程序和solr),可能你应该直接看Lucene而不是Solr,因为Solr的主要目标是允许为Lucene创建Web服务接口,可以从任何应用程序访问它(它有几个其他扩展 - http://lucene.apache.org/solr/features.html,但Solr的核心是Lucene java搜索库)。 / p>
答案 1 :(得分:1)
您引用的页面会回答您的问题。您在自己的JVM中作为服务在同一台机器上运行Solr,并通过HTTP(到localhost)与它进行交互。
答案 2 :(得分:0)
这个问题/答案已经很老了,操作指的是来自 OLD WIKI 的页面。
在撰写本文时,EmbeddedSolrServer
建议用于 TEST,不用于生产。
Infact EmbeddedSolrServer
广泛用于 Solr 代码库的许多测试。
最近我注意到,即使在 solr 文档中,也没有明确的说明来解释如何使用它。所以我写了一个 Java 例子来帮助你编写自己的测试配置、加载数据和运行 junit 单元测试。