SolrJ CloudSolrClient连接错误

时间:2018-03-19 19:26:00

标签: apache indexing solr solrj

我正在努力使用Solrj进行索引。

我想使用SolrCloud并设置我的连接:

gene12

我有这个错误。我在发布之前检查过evruwhere但我无法解决它

SolrClient client = new CloudSolrClient.Builder().withSolrUrl("http://localhost:8983/solr/collectioname").build();
	

3 个答案:

答案 0 :(得分:0)

正如前面的回答所提到的,SolrJ使用的URL没有集合名称(我应该更直接地指出):

final String solrUrl = "http://localhost:8983/solr";
return new HttpSolrClient.Builder(solrUrl)
    .withConnectionTimeout(10000)
    .withSocketTimeout(60000)
    .build();

答案 1 :(得分:0)

对于SolrCloud,您需要使用CloudSolrClient。根据您使用的Solr版本,您可以创建CloudSolrClient的对象,也可以使用CloudSolrClient.Builder

答案 2 :(得分:0)

这就是我的方法。 Solr云只需要将URL列表作为参数,而不仅仅是字符串URL。

private static final String BASE_SOLR_URL = "http://localhost:8983/solr"; 
// or initialize a list of solr instances urls 

@Bean(name = "solrCloudClient")
public static CloudSolrClient getCloudConnection() {
    System.out.println("----Initializing cloud Solr Connection---");
    List<String> solrCloudUrls = Arrays.asList(BASE_SOLR_URL); // or list of urls

    CloudSolrClient client = new CloudSolrClient.Builder(solrCloudUrls).build();
    client.setParser(new XMLResponseParser());
    return client;
}