On 15-Jan-08, at 1:07 PM, Otis Gospodnetic wrote:
Summary: How about having more than 1 (Solr)IndexSearcher per index
in order to avoid Lucene's synchronization bottlenecks?
There are those few synchronized points in Lucene - the stuff
around IndexInput and such. One in a while I hear from people
who've done extensive benchmarking or run systems with high QPS,
and they point to these points as Lucene weaknesses/bottlenecks, at
least in their high QPS environments. While ideally Lucene could
potentially fix that to minimize the number of synchronized blocks,
my guess is that would be a huge undertaking requiring good
understanding of low-level Lucene (hard!). One can try to work
around that by using multiple IndexSearchers, right? (Hmmmm..... or
maybe that won't help, as they will share the same (FS)Directory
instance?) If so, if multiple (Solr)IndexSearchers would help,
should we add this to Solr? I'm guessing SolrCore would be the
only place that would need to be changed?
Hmm, why not just have multiple cores, or multiple webapps pointing
to the same directory?
It's hard to imagine that that would be a good idea, however. You'd
have to duplicate all the solr-level /and/ lucene-level caching for
each core (fieldcache, etc).
-Mike