Class CloudSolrClient.Builder
- java.lang.Object
- 
- org.apache.solr.client.solrj.impl.CloudHttp2SolrClient.Builder
- 
- org.apache.solr.client.solrj.impl.CloudSolrClient.Builder
 
 
- 
- Enclosing class:
- CloudSolrClient
 
 public static class CloudSolrClient.Builder extends CloudHttp2SolrClient.Builder ConstructsCloudSolrClientinstances from provided configuration.
- 
- 
Field Summary- 
Fields inherited from class org.apache.solr.client.solrj.impl.CloudHttp2SolrClient.BuilderdirectUpdatesToLeadersOnly, httpClient, internalClientBuilder, parallelUpdates, shardLeadersOnly, solrUrls, stateProvider, zkChroot, zkHosts
 
- 
 - 
Constructor SummaryConstructors Constructor Description Builder(List<String> solrUrls)Provide a series of Solr URLs to be used when configuringCloudSolrClientinstances.Builder(List<String> zkHosts, Optional<String> zkChroot)Provide a series of ZK hosts which will be used when configuringCloudSolrClientinstances.Builder(ClusterStateProvider stateProvider)for an expert use-case
 - 
Method Summary- 
Methods inherited from class org.apache.solr.client.solrj.impl.CloudHttp2SolrClient.Builderbuild, canUseZkACLs, sendDirectUpdatesToAnyShardReplica, sendDirectUpdatesToShardLeadersOnly, sendUpdatesOnlyToShardLeaders, sendUpdatesToAnyReplica, setParallelCacheRefreshes, setRetryExpiryTime, withCollectionCacheTtl, withCollectionCacheTtl, withDefaultCollection, withHttpClient, withInternalClientBuilder, withParallelCacheRefreshes, withParallelUpdates, withRequestWriter, withResponseParser, withRetryExpiryTime, withZkClientTimeout, withZkConnectTimeout
 
- 
 
- 
- 
- 
Constructor Detail- 
Builderpublic Builder(List<String> solrUrls) Provide a series of Solr URLs to be used when configuringCloudSolrClientinstances. The solr client will use these urls to understand the cluster topology, which solr nodes are active etc.Provided Solr URLs are expected to point to the root Solr path ("http://hostname:8983/solr"); they should not include any collections, cores, or other path components. Usage example: final List<String> solrBaseUrls = new ArrayList<String>(); solrBaseUrls.add("http://solr1:8983/solr"); solrBaseUrls.add("http://solr2:8983/solr"); solrBaseUrls.add("http://solr3:8983/solr"); final SolrClient client = new CloudSolrClient.Builder(solrBaseUrls).build();
 - 
Builderpublic Builder(List<String> zkHosts, Optional<String> zkChroot) Provide a series of ZK hosts which will be used when configuringCloudSolrClientinstances. This requires a dependency onsolr-solrj-zookeeperwhich transitively depends on more JARs. The ZooKeeper based connection is the most reliable and performant means for CloudSolrClient to work. On the other hand, it means exposing ZooKeeper more broadly than to Solr nodes, which is a security risk.Usage example when Solr stores data at the ZooKeeper root ('/'): final List<String> zkServers = new ArrayList<String>(); zkServers.add("zookeeper1:2181"); zkServers.add("zookeeper2:2181"); zkServers.add("zookeeper3:2181"); final SolrClient client = new CloudSolrClient.Builder(zkServers, Optional.empty()).build();Usage example when Solr data is stored in a ZooKeeper chroot:final List<String> zkServers = new ArrayList<String>(); zkServers.add("zookeeper1:2181"); zkServers.add("zookeeper2:2181"); zkServers.add("zookeeper3:2181"); final SolrClient client = new CloudSolrClient.Builder(zkServers, Optional.of("/solr")).build();- Parameters:
- zkHosts- a List of at least one ZooKeeper host and port (e.g. "zookeeper1:2181")
- zkChroot- the path to the root ZooKeeper node containing Solr data. Provide- java.util.Optional.empty()if no ZK chroot is used.
 
 - 
Builderpublic Builder(ClusterStateProvider stateProvider) for an expert use-case
 
- 
 
-