lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Tim Smith (JIRA)" <>
Subject [jira] Commented: (LUCENE-1821) Weight.scorer() not passed doc offset for "sub reader"
Date Wed, 19 Aug 2009 13:04:14 GMT


Tim Smith commented on LUCENE-1821:

One more pass

13. LUCENE-1483: When searching over multiple segments, a new Scorer is created for each segment.

        The Weight is created only once for the top level searcher. Each Scorer is passed
the per-segment IndexReader.
        This will result in docids in the Scorer being internal to the per-segment IndexReader.
If a custom Scorer implementation 
         uses any caches/filters based on the top level IndexReader/Searcher, it will need
to be updated to use caches/filters on a 
         per segment basis. There is currently no way provided to rebase the docids in the
Scorer to the top level IndexReader.
         See LUCENE-1821 for discussion on workarounds for this.

> Weight.scorer() not passed doc offset for "sub reader"
> ------------------------------------------------------
>                 Key: LUCENE-1821
>                 URL:
>             Project: Lucene - Java
>          Issue Type: Bug
>          Components: Search
>    Affects Versions: 2.9
>            Reporter: Tim Smith
> Now that searching is done on a per segment basis, there is no way for a Scorer to know
the "actual" doc id for the document's it matches (only the relative doc offset into the segment)
> If using caches in your scorer that are based on the "entire" index (all segments), there
is now no way to index into them properly from inside a Scorer because the scorer is not passed
the needed offset to calculate the "real" docid
> suggest having Weight.scorer() method also take a integer for the doc offset
> Abstract Weight class should have a constructor that takes this offset as well as a method
to get the offset
> All Weights that have "sub" weights must pass this offset down to created "sub" weights

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

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

View raw message