The process if you don't use CUSS is this: 1> assemble the packet of docs 2> send it to Solr 3> wait until Solr is done indexing it 4> start assembling the second doc.
So, several things are going on here. 1> the client is sitting idle while Solr is indexing and 2> Solr is sitting idle when the client is assembling the next doc. So CUSS will do something like this: 1> assemble a packet for Solr 2> pass off the actual transmission to Solr to a thread and immediately go back to <1>. Basically, CUSS is doing async processing. The parameters to the CUSS constructor govern how many threads can be sending docs to Solr and how many packets are queued up for each of those threads. You know you've reached your limit when you see your Solr instance CPU stay high, I usually look for the 90+ %. Hope that helps, Erick On Wed, Dec 10, 2014 at 1:12 PM, Tom Burton-West <tburt...@umich.edu> wrote: > Hello all, > > In the example schema.xml for Solr 4.10.2 this comment is listed under the > "PERFORMANCE NOTE" > > "For maximum indexing performance, use the ConcurrentUpdateSolrServer > java client." > > Is there some documentation somewhere that explains why this will maximize > indexing peformance? > > In particular, I have very large documents on the order of 700KB, so I'[m > interested to determine if there is a significant advantage to using the > ConcurrentUpdateSolrServer in my use case. > > A related question, is how to use ConcurrentUpdateSolrServer with XML > documents > > I have very large XML documents, and the examples I see all build documents > by adding fields in Java code. Is there an example that actually reads XML > files from the file system? > > Tom