[ 
https://issues.apache.org/jira/browse/SOLR-4816?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Joel Bernstein updated SOLR-4816:
---------------------------------

    Description: 
This issue adds a new Solr Cloud client called the 
ConcurrentUpdateCloudSolrServer. This Solr Cloud client implements document 
routing in the client so that document routing overhead is eliminated on the 
Solr servers. Documents are batched up for each shard and then each batch is 
sent in it's own thread. 

With this client, Solr Cloud indexing throughput should scale linearly with 
cluster size.

This client also has robust failover built-in because the actual requests are 
made using the LBHttpSolrServer. The list of urls used for the request to each 
shard begins with the leader and is followed by that shard's replicas. So the 
leader will be tried first and if it fails it will try the replicas.


Sample usage:

ConcurrentUpdateCloudServer client = new 
ConcurrentUpdateCloudSolrServer(zkHostAddress);
UpdateRequest request = new UpdateRequest();
SolrInputDocument doc = new SolrInputDocument();
doc.addField("id", 2);
doc.addField("manu","BMW");
request.add(doc);
NamedList response = client.request(request);
NamedList exceptions = response.get("exceptions"); // contains any exceptions 
from the shards
NamedList responses = response.get("responses"); // contains the responses from 
shards without exception.


                


  was:
This issue adds a new Solr Cloud client called the 
ConcurrentUpdateCloudSolrServer. This Solr Cloud client implements document 
routing in the client so that document routing overhead is eliminated on the 
Solr servers. Documents are batched up for each shard and then each batch is 
sent in it's own thread. 

With this client, Solr Cloud indexing throughput should scale linearly with 
cluster size.

Sample usage:

ConcurrentUpdateCloudServer client = new 
ConcurrentUpdateCloudSolrServer(zkHostAddress);
UpdateRequest request = new UpdateRequest();
SolrInputDocument doc = new SolrInputDocument();
doc.addField("id", 2);
doc.addField("manu","BMW");
request.add(doc);
NamedList response = client.request(request);
NamedList exceptions = response.get("exceptions"); // contains any exceptions 
from the shards
NamedList responses = response.get("responses"); // contains the responses from 
shards without exception.


                


    
> ConcurrentUpdateCloudSolrServer
> -------------------------------
>
>                 Key: SOLR-4816
>                 URL: https://issues.apache.org/jira/browse/SOLR-4816
>             Project: Solr
>          Issue Type: Improvement
>          Components: SolrCloud
>    Affects Versions: 4.3
>            Reporter: Joel Bernstein
>            Priority: Minor
>         Attachments: SOLR-4816.patch, SOLR-4816.patch, SOLR-4816.patch, 
> SOLR-4816.patch, SOLR-4816.patch, SOLR-4816.patch, SOLR-4816.patch, 
> SOLR-4816.patch, SOLR-4816.patch, SOLR-4816.patch, SOLR-4816.patch, 
> SOLR-4816.patch, SOLR-4816.patch, SOLR-4816.patch, SOLR-4816.patch, 
> SOLR-4816.patch, SOLR-4816.patch, SOLR-4816.patch, SOLR-4816-sriesenberg.patch
>
>
> This issue adds a new Solr Cloud client called the 
> ConcurrentUpdateCloudSolrServer. This Solr Cloud client implements document 
> routing in the client so that document routing overhead is eliminated on the 
> Solr servers. Documents are batched up for each shard and then each batch is 
> sent in it's own thread. 
> With this client, Solr Cloud indexing throughput should scale linearly with 
> cluster size.
> This client also has robust failover built-in because the actual requests are 
> made using the LBHttpSolrServer. The list of urls used for the request to 
> each shard begins with the leader and is followed by that shard's replicas. 
> So the leader will be tried first and if it fails it will try the replicas.
> Sample usage:
> ConcurrentUpdateCloudServer client = new 
> ConcurrentUpdateCloudSolrServer(zkHostAddress);
> UpdateRequest request = new UpdateRequest();
> SolrInputDocument doc = new SolrInputDocument();
> doc.addField("id", 2);
> doc.addField("manu","BMW");
> request.add(doc);
> NamedList response = client.request(request);
> NamedList exceptions = response.get("exceptions"); // contains any exceptions 
> from the shards
> NamedList responses = response.get("responses"); // contains the responses 
> from shards without exception.
>                 

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

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

Reply via email to