lucene-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Roberto Ragusa <m...@robertoragusa.it>
Subject Doing concurrent searches efficiently
Date Wed, 19 Jun 2013 10:57:54 GMT
Hi,

I would like an expert opinion about how to optimally do concurrent
searches on the same index (let's suppose there are several threads
doing searches). Consider these options:

a) one IndexReader, all threads use it
b) cloned IndexReader's, each thread uses a clone
c) opened IndexReader's, each thread open and keeps its own IndexReader

What I would like to achieve is:

x) maximum CPU and memory efficiency (e.g. only one copy of norms vectors,
only one copy of FieldCache for a segment)
y) avoid performance issues related to locks
z) let each thread have an atomic view of the index, i.e. do a reopen when it wants
(and with no coordination with other threads)

I think z) is impossible to achieve with a).
Is it best to do b) or c) ?
I'm afraid c) implies multiple copy of the norms (!), while I'm not sure
about the FieldCache.

I'm talking about version 3.0, but I would be really interested to hear if
newer versions have different characteristics.

Thanks.

-- 
   Roberto Ragusa    mail at robertoragusa.it

---------------------------------------------------------------------
To unsubscribe, e-mail: java-user-unsubscribe@lucene.apache.org
For additional commands, e-mail: java-user-help@lucene.apache.org


Mime
View raw message