You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by "Shawn Heisey (JIRA)" <ji...@apache.org> on 2014/11/22 18:53:13 UTC

[jira] [Commented] (SOLR-6777) Create convenience methods in CloudSolrServer to specify the collection to act on, on a per request basis.

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

Shawn Heisey commented on SOLR-6777:
------------------------------------

[~joey_dale], for *queries*, specifying the collection is very easy without any additional methods.

{code}
SolrQuery query = new SolrQuery();
query.setQuery("*:*");
query.set("collection","test");
QueryResponse rsp = solr.query(query);
{code}

It's when you want to add or delete that things get a lot less straightforward.  I believe that the code example in the description of SOLR-3920 is the current way to update multiple collections.

Convenience methods are a really good idea for add, commit, deleteByQuery, etc.  Although dealing with multiple collections is very easy for queries, it may also be a good idea to build a convenience method for that too.


> Create convenience methods in CloudSolrServer to specify the collection to act on, on a per request basis.
> ----------------------------------------------------------------------------------------------------------
>
>                 Key: SOLR-6777
>                 URL: https://issues.apache.org/jira/browse/SOLR-6777
>             Project: Solr
>          Issue Type: Improvement
>          Components: clients - java
>            Reporter: Joey Dale
>            Priority: Minor
>              Labels: newbie
>
> As a user of solrcloud as a NoSQL datastore, with components of my complex data model stored in many collections, I would like to easily pass in the collection name for each query/add/delete statement via an overloaded method that accepts a String equal to the name of the collection.
> Currently there exists methods to set the default collection for a CloudSolrServer instance. This losses its luster in a multithreaded environment. The work arounds to date are passing in a SolrParam on the Update handlers, but on the Query handles you are forced to basically maintain a CloudSolrServer instance for each collection you want to interact with, and never call setDefaultCollect after creation.
> Here are some examples:
> CloudSolrServer solr = new CloudSolr(zkHost);
> solr.addBeans(beans, collection);
> solr.addBeans(beans, collection, commitWithin);
> solr.commit(collection, commitWithin);
> solr.optimize(collection);
> SolrQuery query = new SolrQuery();
> query.setQuery("*:*");
> QueryResponse rsp = solr.query(query, collection);



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org