[ 
https://issues.apache.org/jira/browse/LUCENE-5315?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13808615#comment-13808615
 ] 

Robert Muir commented on LUCENE-5315:
-------------------------------------

i think DocsEnum.freq() should be changed to say "matches".

According to your strict definition, PhraseScorer is broken too, because it 
doesnt return term frequencies :)

> Some subclasses of Scorer do not honor the contract of DocsEnum.freq()
> ----------------------------------------------------------------------
>
>                 Key: LUCENE-5315
>                 URL: https://issues.apache.org/jira/browse/LUCENE-5315
>             Project: Lucene - Core
>          Issue Type: Bug
>          Components: core/query/scoring
>    Affects Versions: 4.5.1
>            Reporter: Kai Chan
>         Attachments: DisjunctionMaxQueryTest.java, 
> DisjunctionMaxQueryTest.java.output
>
>
> The behavior of Scorer.freq() is inconsistent across its subclasses:
> * For TermScorer, the freq() method behaves just as DocsEnum.freq() 
> specifies, i.e. the method returns the "term frequency in the current 
> document".
> * For BooleanScorer2, ConjunctionScorer, DisjunctionMaxScorer, 
> DisjunctionSumScorer, and possibly other classes, the freq() method returns 
> the number of clauses (in BooleanQuery or DisjunctionMaxQuery) that match the 
> current document.
> This difference makes the meaning of Scorer.freq()'s return value uncertain. 
> To add to the uncertainty, given a Query, there seems to be no way of knowing 
> which behavior takes effect (as that is not specified in the API reference) 
> except by reading or running the code.
> This issue might be related to LUCENE-4514.



--
This message was sent by Atlassian JIRA
(v6.1#6144)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to