Description
Currently Solrj clients (e.g. CloudSolrClient) supports multiple constructors as follows,
public CloudSolrClient(String zkHost)
public CloudSolrClient(String zkHost, HttpClient httpClient)
public CloudSolrClient(Collection<String> zkHosts, String chroot)
public CloudSolrClient(Collection<String> zkHosts, String chroot, HttpClient httpClient)
public CloudSolrClient(String zkHost, boolean updatesToLeaders)
public CloudSolrClient(String zkHost, boolean updatesToLeaders, HttpClient httpClient)
It is kind of problematic while introducing an additional parameters (since we need to introduce additional constructors). Instead it will be helpful to provide SolrClient Builder which can provide either default values or support overriding specific parameter.