[
https://issues.apache.org/jira/browse/LUCENE-5315?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Kai Chan updated LUCENE-5315:
-----------------------------
Attachment: DisjunctionMaxQueryTest.java
This is a very simple program that illustrates the problem. I am attaching the
output in a separate file.
> 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
>
>
> 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]