1

我目前正在构建一个负载平衡的应用程序(外部通过 Apache),它启动一个 Solr 4.2 实例(或更具体地说是一个 CoreContainer)。我想设置一个跨越我的应用程序所有实例(带有副本等)的 SolrCloud。我知道如何使用所需的 Zookeeper 集合等设置这些服务器。

我的问题与我与 SolrCloud 交互的方式有关。所以这里是:

  • 我的自定义应用程序收到一个请求,根据这个请求需要更新 SolrCloud 中的信息

  • 由于我启动了嵌入应用程序的 Solr 实例,我可以使用 EmbeddedSolrServer 与索引进行交互,但是:这是与 SolrCloud 交互的正确方式吗?或者这种方法是否绕过了 Solr 采用的整个集群方法,我最好将我的应用程序与 SolrCloud 集群分开并使用 CloudSolrServer?

提前致谢!

4

2 回答 2

0

仅出于调试目的,我不喜欢使用EmbeddedSolrServer. 如果您尝试同时在应用程序和管理控制台中访问索引,则使用EmbeddedSolrServerthrows a 。LockObtainFailedException

http://wiki.apache.org/solr/EmbeddedSolr

于 2013-06-07T21:23:09.613 回答
0

实际上,有一种方法可以使用Solr 测试模块在您的应用程序中创建嵌入式 Solr 云

<!-- Solr Test Framework -->
<dependency>
    <groupId>org.apache.solr</groupId>
    <artifactId>solr-test-framework</artifactId>
    <version>6.6.1</version>
    <scope>test</scope>
</dependency>

在这里查看jaihind213 编写的 UT,它非常有用。

于 2017-09-21T19:48:20.707 回答