You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by "Zaytsev Sergey (JIRA)" <ji...@apache.org> on 2014/08/12 16:31:12 UTC

[jira] [Commented] (SOLR-3920) CloudSolrServer doesn't allow to index multiple collections with one instance of server

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

Zaytsev Sergey commented on SOLR-3920:
--------------------------------------

Is there a way to do the same with REST method call running SolrCloud? In other words, to pass a collection_name into a URL for update, in a way like this:
http://localhost:8983/solr/MyCollectionName/update? bla-bla-bla.....    

Thank you very much!

> CloudSolrServer doesn't allow to index multiple collections with one instance of server
> ---------------------------------------------------------------------------------------
>
>                 Key: SOLR-3920
>                 URL: https://issues.apache.org/jira/browse/SOLR-3920
>             Project: Solr
>          Issue Type: Bug
>          Components: SolrCloud
>    Affects Versions: 4.0-BETA
>            Reporter: Grzegorz Sobczyk
>            Assignee: Mark Miller
>              Labels: 4.0.1_Candidate
>             Fix For: 4.1, 5.0
>
>         Attachments: SOLR-3920.patch
>
>
> With one instance of CloudSolrServer I can't add documents to multiple collections, for example:
> {code}
> @Test
> public void shouldSendToSecondCore() throws Exception {
> 	//given
> 	try {
> 		CloudSolrServer server = new CloudSolrServer("localhost:9983");
> 		UpdateRequest commit1 = new UpdateRequest();
> 		commit1.setAction(ACTION.COMMIT, true, true);
> 		commit1.setParam("collection", "collection1");
> 		//this commit is bug's cause
> 		commit1.process(server);
> 		
> 		SolrInputDocument doc = new SolrInputDocument();
> 		doc.addField("id", "id");
> 		doc.addField("name", "name");
> 		
> 		UpdateRequest update2 = new UpdateRequest();
> 		update2.setParam("collection", "collection2");
> 		update2.add(doc);
> 		update2.process(server);
> 		
> 		UpdateRequest commit2 = new UpdateRequest();
> 		commit2.setAction(ACTION.COMMIT, true, true);
> 		commit2.setParam("collection", "collection2");
> 		commit2.process(server);
> 		SolrQuery q1 = new SolrQuery("id:id");
> 		q1.set("collection", "collection1");
> 		SolrQuery q2 = new SolrQuery("id:id");
> 		q2.set("collection", "collection2");
> 		
> 		//when
> 		QueryResponse resp1 = server.query(q1);
> 		QueryResponse resp2 = server.query(q2);
> 		
> 		//then
> 		Assert.assertEquals(0L, resp1.getResults().getNumFound());
> 		Assert.assertEquals(1L, resp2.getResults().getNumFound());
> 	} finally {
> 		CloudSolrServer server1 = new CloudSolrServer("localhost:9983");
> 		server1.setDefaultCollection("collection1");
> 		server1.deleteByQuery("id:id");
> 		server1.commit(true, true);
> 		
> 		CloudSolrServer server2 = new CloudSolrServer("localhost:9983");
> 		server2.setDefaultCollection("collection2");
> 		server2.deleteByQuery("id:id");
> 		server2.commit(true, true);
> 	}
> }
> {code}
> Second update goes to first collection.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

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