jackrabbit-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Christoph Kiehl <christ...@sulu3000.de>
Subject Re: Query Performance and Optimization
Date Tue, 13 Mar 2007 22:54:32 GMT
Christoph Kiehl wrote:

> I was digging a bit into Jackrabbit today and found another place where 
> some caching did provide a substantial performance gain to queries which 
> check one attribute for more than one value (like /foo/*[@foo:bar='john' 
> or foo:bar='doe']). The BitSet in calculateDocFilter() is right now 
> created twice for the query above. On large repositories this takes 
> about 200ms per BitSet on my machine for a particular field. Caching 
> these BitSets per IndexReader and field in a WeakHashMap with the 
> IndexReader as a key gave me some real improvements. 

Replying to myself ;):

- I was referring to calculateDocFilter() in 
org.apache.jackrabbit.core.query.lucene.MatchAllScorer
- The achieved performance improvement varied between 30-60% depending on the 
actual query

Cheers,
Christoph


Mime
View raw message