[
https://issues.apache.org/jira/browse/LUCENE-6278?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Alan Woodward updated LUCENE-6278:
----------------------------------
Description:
At the moment, Scorer.freq() does different things depending on the Scorer
implementation:
* TermScorer and the phrase scorers return the frequency of that term or phrase
in the current document. TermScorer.freq() is not actually called anywhere
(apart from in a couple of tests), and XPhraseScorer.freq() is only called in
PhraseWeight.explain()
* The various Boolean scorers return the number of matching subscorers, and are
used for coord calculations.
I think this is confusing. I propose that we instead add a new coord() method
to Scorer that by default returns 1, and that is overridden by the boolean
scorers; and that we just remove freq() entirely. PhraseWeight.explain() can
call a package-private method on XPhraseScorer.
was:
At the moment, Scorer.freq() does different things depending on the Scorer
implementation:
* TermScorer and the phrase scorers return the frequency of that term or phrase
in the current document. TermScorer.freq() is not actually called anywhere
(apart from in a couple of tests), and {X}PhraseScorer.freq() is only called in
PhraseWeight.explain()
* The various Boolean scorers return the number of matching subscorers, and are
used for coord calculations.
I think this is confusing. I propose that we instead add a new coord() method
to Scorer that by default returns 1, and that is overridden by the boolean
scorers; and that we just remove freq() entirely. PhraseWeight.explain() can
call a package-private method on {X}PhraseScorer.
> Rationalise Scorer.freq()
> -------------------------
>
> Key: LUCENE-6278
> URL: https://issues.apache.org/jira/browse/LUCENE-6278
> Project: Lucene - Core
> Issue Type: Improvement
> Reporter: Alan Woodward
> Priority: Minor
> Attachments: LUCENE-6278.patch
>
>
> At the moment, Scorer.freq() does different things depending on the Scorer
> implementation:
> * TermScorer and the phrase scorers return the frequency of that term or
> phrase in the current document. TermScorer.freq() is not actually called
> anywhere (apart from in a couple of tests), and XPhraseScorer.freq() is only
> called in PhraseWeight.explain()
> * The various Boolean scorers return the number of matching subscorers, and
> are used for coord calculations.
> I think this is confusing. I propose that we instead add a new coord()
> method to Scorer that by default returns 1, and that is overridden by the
> boolean scorers; and that we just remove freq() entirely.
> PhraseWeight.explain() can call a package-private method on XPhraseScorer.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]