On Tue, Jan 12, 2010 at 2:53 PM, Smith G <gudumba.sm...@gmail.com> wrote:
> 4) queuesize parameter of Streaming constructer: What could be the
> rough-value when it comes
> to real time application having a million+ documents to be indexed ? ..
>           So what does "queuesize" is exactly for ? , if we can go on
> adding as many as we can.

The queue provides a buffer between the document producer(s) (your
application code) and the consumers (the solrj impl that sends the doc
to solr) and helps to further increase concurrency.

Consider the following scenario if you had only 1 document producer
thread (the common case) and no queue inbetween.
Your producer creates a document, and adds it... but since all of the
consumer threads are busy, it blocks.
Next, consumer thread #1 and #2 both become ready at the same time.
Consumer thread takes your document, unblocking your producer thread
to create another document.  But in the meantime, consumer thread #2
sits idle.

It probably doesn't make sense to set the buffer above 10, unless your
document creation is really "bursty" and you need the additional
buffering to make sure that indexing threads are kept busy.

-Yonik
http://www.lucidimagination.com

Reply via email to