lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Robert Muir (JIRA)" <>
Subject [jira] [Commented] (LUCENE-6278) Rationalise Scorer.freq()
Date Sat, 21 Feb 2015 20:26:12 GMT


Robert Muir commented on LUCENE-6278:

The special cases in BooleanTopLevelScorers just have to deal with MinShouldMatchSumScorer
and DisjunctionScorer. Unfortunately these don't share a same base class, but they could,
that exposes a package-private freq()

> Rationalise Scorer.freq()
> -------------------------
>                 Key: LUCENE-6278
>                 URL:
>             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

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

View raw message