Details
-
Improvement
-
Status: Closed
-
Minor
-
Resolution: Fixed
-
None
-
None
-
None
-
New
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.