[ 
https://issues.apache.org/jira/browse/SOLR-12502?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16629486#comment-16629486
 ] 

Shawn Heisey commented on SOLR-12502:
-------------------------------------

bq.  But I don't have a good feel for how common it is today for users to reuse 
a single client across collections. 

I don't have a good feel for this either ... but I can say that I would 
strongly recommend the use of a minimal number of client objects.  For 
CloudSolrClient, I would use one object per cluster.  For HttpSolrClient, one 
object per Solr server or load balancer front end.

I don't automatically consider the presence of a large number of overloaded 
methods to be a problem.  It might be something that indicates the class needs 
some scrutiny, though.  If we deprecated all the methods that don't take a 
collection, and interpret a "null" value in that parameter in the same way as 
the removed method, that would get rid of half the methods.


> Unify and reduce the number of SolrClient#add methods
> -----------------------------------------------------
>
>                 Key: SOLR-12502
>                 URL: https://issues.apache.org/jira/browse/SOLR-12502
>             Project: Solr
>          Issue Type: Improvement
>      Security Level: Public(Default Security Level. Issues are Public) 
>          Components: SolrJ
>            Reporter: Varun Thacker
>            Priority: Major
>
> On SOLR-11654 we noticed that SolrClient#add has 10 overloaded methods which 
> can be very confusing to new users.
> Also the UpdateRequest class is public so that means if a user is looking for 
> a custom combination they can always choose to do so by writing a couple of 
> lines of code.
> For 8.0 which might not be very far away we can improve this situation
>  
> Quoting David from SOLR-11654
> {quote}Any way I guess we'll leave SolrClient alone.  Thanks for your input 
> Varun.  Yes it's a shame there are so many darned overloaded methods... I 
> think it's a large part due to the optional "collection" parameter which like 
> doubles the methods!  I've been bitten several times writing SolrJ code that 
> doesn't use the right overloaded version (forgot to specify collection).  I 
> think for 8.0, *either* all SolrClient methods without "collection" can be 
> removed in favor of insisting you use the overloaded variant accepting a 
> collection, *or* SolrClient itself could be locked down to one collection at 
> the time you create it *or* have a CollectionSolrClient interface retrieved 
> from a SolrClient.withCollection(collection) in which all the operations that 
> require a SolrClient are on that interface and not SolrClient proper.  
> Several ideas to consider.
> {quote}
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to