我正在努力使用Solrj进行索引。
我想使用SolrCloud并设置我的连接:
gene12
我有这个错误。我在发布之前检查过evruwhere但我无法解决它
SolrClient client = new CloudSolrClient.Builder().withSolrUrl("http://localhost:8983/solr/collectioname").build();
答案 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;
}