lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Steven Tamm (JIRA)" <>
Subject [jira] Created: (LUCENE-502) TermScorer caches values unnecessarily
Date Wed, 01 Mar 2006 02:34:39 GMT
TermScorer caches values unnecessarily

         Key: LUCENE-502
     Project: Lucene - Java
        Type: Improvement
  Components: Search  
    Versions: 1.9    
    Reporter: Steven Tamm

TermScorer aggressively caches the doc and freq of 32 documents at a time for each term scored.
 When querying for a lot of terms, this causes a lot of garbage to be created that's unnecessary.
 The SegmentTermDocs from which it retrieves its information doesn't have any optimizations
for bulk loading, and it's unnecessary.

In addition, it has a SCORE_CACHE, that's of limited benefit.  It's caching the result of
a sqrt that should be placed in DefaultSimilarity, and if you're only scoring a few documents
that contain those terms, there's no need to precalculate the SQRT, especially on modern VMs.

Enclosed is a patch that replaces TermScorer with a version that does not cache the docs or
feqs.  In the case of a lot of queries, that saves 196 bytes/term, the unnecessary disk IO,
and extra SQRTs which adds up.

This message is automatically generated by JIRA.
If you think it was sent incorrectly contact one of the administrators:
For more information on JIRA, see:

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message