protected static class Weight.DefaultBulkScorer extends BulkScorer
Constructor and Description |
---|
DefaultBulkScorer(Scorer scorer)
Sole constructor.
|
Modifier and Type | Method and Description |
---|---|
long |
cost()
Same as
DocIdSetIterator.cost() for bulk scorers. |
int |
score(LeafCollector collector,
Bits acceptDocs,
int min,
int max)
Collects matching documents in a range and return an estimation of the
next matching document which is on or after
max . |
score
public DefaultBulkScorer(Scorer scorer)
public long cost()
BulkScorer
DocIdSetIterator.cost()
for bulk scorers.cost
in class BulkScorer
public int score(LeafCollector collector, Bits acceptDocs, int min, int max) throws IOException
BulkScorer
max
.
The return value must be:
max
,DocIdSetIterator.NO_MORE_DOCS
if there are no more matches,max
otherwise.min
is the minimum document to be considered for matching. All
documents strictly before this value must be ignored.
Although max
would be a legal return value for this method, higher
values might help callers skip more efficiently over non-matching portions
of the docID space.
For instance, a Scorer
-based implementation could look like
below:
private final Scorer scorer; // set via constructor public int score(LeafCollector collector, Bits acceptDocs, int min, int max) throws IOException { collector.setScorer(scorer); int doc = scorer.docID(); if (doc < min) { doc = scorer.advance(min); } while (doc < max) { if (acceptDocs == null || acceptDocs.get(doc)) { collector.collect(doc); } doc = scorer.nextDoc(); } return doc; }
score
in class BulkScorer
collector
- The collector to which all matching documents are passed.acceptDocs
- Bits
that represents the allowed documents to match, or
null
if they are all allowed to match.min
- Score starting at, including, this documentmax
- Score up to, but not including, this docIOException
Copyright © 2000-2021 Apache Software Foundation. All Rights Reserved.