That's right.

Each thread can enter IndexWriter.add/update/deleteDocument(s) in parallel. There are some parts inside IndexWriter that are synchronized but they are kept to a minimum to keep good thread concurrency. As you add threads it's best to increase the RAM buffer at the same time to get better performance.

Mike

ajay_garg wrote:


@Yonik

So you mean to say, that if two threads have the same instance of an
IndexWriter passed to both of them, and both these threads run on two
different CPUs, then they can write to the index at the same time ?



Yonik Seeley wrote:

On Jan 30, 2008 10:59 PM, ajay_garg
<[EMAIL PROTECTED]> wrote:

Thanks Mike for your directions.

Yes, I am in fact using a single computer for my application, and your saying that in this case, multiple threads with a single IndexWriter wll
give a better performance. Hmmm. I just wonder that since each
IndexWriter
has a single write.lock, this means that sitting on the CPU, we observe
that
at a particular instant, only a single thread is using the CPU,

The write.lock is to protect against other IndexWriter instances,
*not* against other threads.
Using multiple threads on a single IndexWriter should utilize multiple
CPUs.

-Yonik

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




--
View this message in context: http://www.nabble.com/Query-in- Lucene-2.3.0-tp15175141p15198783.html
Sent from the Lucene - Java Users mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to