3

我知道关于这个主题还有其他问题,我在网上阅读了一些教程(http://shrutiags.wordpress.com/2012/05/29/adding-solr-to-your-web-application-part-3 -integrating-solr-with-eclipse-2/http://javaskeleton.blogspot.de/2011/07/adding-solr-to-existing-web-application.html)。我还有一些未解决的问题。

1)提到的两个教程都是EmbeddedSolrServer用来访问Solr的,这是否意味着Solr没有作为一个单独的应用程序运行?那为什么我们需要指定过滤器和servlet呢?

2) 两个教程都使用 jar 的复制和粘贴。应该使用哪些 Maven 依赖项?

3) 我仍然不确定将 Solr 集成到现有 Web 应用程序的嵌入式和独立方式之间的区别。据我了解,独立方式意味着将 Solr 战争文件部署为单独的应用程序。在这种情况下,我们不应该指定任何 servlet 或过滤器,只需使用 Solrj 连接到正在运行的 Solr 实例。

当我们想将 Solr 作为应用程序的一部分运行时,会发生什么变化?我们需要添加更多的依赖项,而不仅仅是 Solrj。我们需要以某种方式初始化 Solr 核心。我对么?

4

1 回答 1

4

回答您的问题:

( tomcat、jetty、glassfish 等)并在您的应用程序中定义一个“SolrServer”:SolrServer server = new CommonsHttpSolrServer(solrServerAddress);并使用它与 Solr 进行通信。

2)从我自己的设置中,我有以下 maven 依赖项来使用独立的 Solr:

<dependency>
    <artifactId>solr-solrj</artifactId>
    <groupId>org.apache.solr</groupId>
    <version>1.4.0</version>
    <type>jar</type>
    <scope>compile</scope>
</dependency>

您可能需要定义其他依赖项(例如:如果您想要 EmbeddedSolrServer),请在此处找到明确的详细信息:http ://wiki.apache.org/solr/Solrj#Maven 。您还需要确保您的 maven 依赖项中有 slf4j。

3)确实如此,如果它是独立的,您需要采取一些其他操作,但不需要定义任何 servlet 或过滤器。

关于这个问题:“当我们想将 Solr 作为我们应用程序的一部分运行时会发生什么变化?我们需要添加更多依赖项,而不仅仅是 Solrj。” 是的,您需要...您可以在 Solr 上面的链接中找到相关信息。

于 2013-09-20T11:30:22.627 回答