使用 solr 端点创建 CloudSolrClient
Create CloudSolrClient using solr endpoint
我可以不使用 zookeeper 创建一个 cloudsolrclient 吗?
我不想添加对 zookeeper 的依赖并直接与 solrcloud 对话。
这是我当前的代码..这里的端点是 zookeeper 的端点。我试着给 solr url 但它抛出异常说
"Couldn't initialize a HttpClusterStateProvider (is/are the Solr server(s) is/are down"
CloudSolrClient.Builder builder = new Builder(Arrays.asList(endpoint)); return builder.build();
更新:
使用 HttpSolrClient 创建客户端并成功。但无法对其执行任何操作,例如列出所有集合或创建集合。我正在使用
List<String> collections = CollectionAdminRequest.listCollections(client);
这是错误的吗?
如果您不想使用 Zookeeper,请不要创建 CloudSolrClient
,而是使用常规的 HttpSolrClient
或 LBHttpSolrClient
。
您要连接的 Solr 节点会将请求在内部路由到具有您请求的数据的主机(即,它将完成您的 CloudSolrClient 将为您完成的工作)。
使用 CloudSolrClient
的好处是它将直接连接到托管您的集合的节点,而不必通过潜在的 non-hosting 客户端,从而更快地获得答案而无需Solr 集群内的额外请求。
我可以不使用 zookeeper 创建一个 cloudsolrclient 吗? 我不想添加对 zookeeper 的依赖并直接与 solrcloud 对话。
这是我当前的代码..这里的端点是 zookeeper 的端点。我试着给 solr url 但它抛出异常说 "Couldn't initialize a HttpClusterStateProvider (is/are the Solr server(s) is/are down"
CloudSolrClient.Builder builder = new Builder(Arrays.asList(endpoint)); return builder.build();
更新:
使用 HttpSolrClient 创建客户端并成功。但无法对其执行任何操作,例如列出所有集合或创建集合。我正在使用
List<String> collections = CollectionAdminRequest.listCollections(client);
这是错误的吗?
如果您不想使用 Zookeeper,请不要创建 CloudSolrClient
,而是使用常规的 HttpSolrClient
或 LBHttpSolrClient
。
您要连接的 Solr 节点会将请求在内部路由到具有您请求的数据的主机(即,它将完成您的 CloudSolrClient 将为您完成的工作)。
使用 CloudSolrClient
的好处是它将直接连接到托管您的集合的节点,而不必通过潜在的 non-hosting 客户端,从而更快地获得答案而无需Solr 集群内的额外请求。