You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucenenet.apache.org by "Doug Sale (JIRA)" <ji...@apache.org> on 2008/07/17 09:07:31 UTC

[jira] Updated: (LUCENENET-128) 2 bugs in BooleanScorer2

     [ https://issues.apache.org/jira/browse/LUCENENET-128?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Doug Sale updated LUCENENET-128:
--------------------------------

    Attachment: BooleanScorer2.patch

BooleanScorer2 contains multiple scorers, an overall scorer, and a coordinator that generates a factor to be multiplied against the summed score to generate the final score for a document.

Score() was re-initializing the overall scorer data structure on every call, including resetting the coordinator.  Each individual Scorer, however, is tracking the most recent scored document and not re-scoring if the request is for the same doc as the last request.

So, on subsequent calls to Score(), the coordinator factor was being reset to 0.  The individual scorers, responsible for updating the pointer to the correct coordinator factor weren't doing so, as they essentially no-op'd on a request for the same doc score as the prior request.

Thus, subsequent calls for the same doc returned a score of 0.

Additionally, SingleMatchScorer was updating the coordinator pointer in all cases, though it seems it was not intended.  There was a test for the same document as the prior call, but it was implemented incorrectly.

So, the fixes were:
1) Track the lastDocumentID at the top-level scorer and do not re-init the scorer data structures when the subsequent call is for the same document as the prior.
2) Fix the "same doc as last request" test in SingleMatchScorer


> 2 bugs in BooleanScorer2
> ------------------------
>
>                 Key: LUCENENET-128
>                 URL: https://issues.apache.org/jira/browse/LUCENENET-128
>             Project: Lucene.Net
>          Issue Type: Bug
>            Reporter: Doug Sale
>         Attachments: BooleanScorer2.patch
>
>   Original Estimate: 0h
>  Remaining Estimate: 0h
>
> When BooleanScorer2.Score() is called in succession for the same Document, the second invocation always returns a score of 0. 

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