: StreamingUpdateSolrServer already has multiple threads and uses multiple 
: connections under the covers. At least the api says ' Uses an internal 

Hmmm... i think one of us missunderstands the point behind 
StreamingUpdateSolrServer and it's internal threads/queues.  (it's very 
possible that it's me)

my understanding is that this allows it to manage the batching of multiple 
operations for you, reusing connections as it goes -- so the the 
queueSize is how many individual requests it buffers before sending the 
batch to Solr, and the threadCount controls how many batches it can send 
in parallel (in the event that one thread is still waiting for the 
response when the queue next fills up)

But if you are only using a single thread to feed SolrRequests to a single 
instance of StreamingUpdateSolrServer then there can still be lots of 
opportunities for Solr itself to be idle -- as i said, it's not clear to 
me if you are using multiple threads to write to your 
StreamingUpdateSolrServer ... even if if you reuse the same 
StreamingUpdateSolrServer instance, multiple threads in your client code 
may increse the throughput (assuming that at the moment the threads in 
StreamingUpdateSolrServer are largely idle)

But as i said ... this is all mostly a guess.  I'm not intimatiely 
familiar with solrj.


-Hoss

Reply via email to