Class TopSuggestDocsCollector
java.lang.Object
org.apache.lucene.search.SimpleCollector
org.apache.lucene.search.suggest.document.TopSuggestDocsCollector
- All Implemented Interfaces:
Collector
,LeafCollector
Collector
that collects completion and score, along with
document id
Non scoring collector that collect completions in order of their pre-computed scores.
NOTE: One document can be collected multiple times if a document is matched for multiple unique completions for a given query
Subclasses should only override collect(int, CharSequence, CharSequence, float)
.
NOTE: SimpleCollector.setScorer(org.apache.lucene.search.Scorable)
and collect(int)
is not
used
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected int
Document base offset for the current Leafprivate final int
private final List<TopSuggestDocs.SuggestScoreDoc>
Only set if we are deduplicating hits: holds all per-segment hits until the end, when we dedup themprivate final SuggestScoreDocPriorityQueue
(package private) final CharArraySet
Only set if we are deduplicating hits: holds all surface forms seen so far in the current segment -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
collect
(int doc) Ignoredvoid
collect
(int docID, CharSequence key, CharSequence context, float score) Called for every matched completion, similar toLeafCollector.collect(int)
but for completions.protected void
doSetNextReader
(LeafReaderContext context) This method is called before collectingcontext
.protected boolean
Returns true if duplicates are filtered outget()
Returns at mostnum
Top scoringTopSuggestDocs
sint
Returns the number of results to be collectedIgnoredMethods inherited from class org.apache.lucene.search.SimpleCollector
getLeafCollector, setScorer
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.apache.lucene.search.LeafCollector
competitiveIterator
-
Field Details
-
priorityQueue
-
num
private final int num -
pendingResults
Only set if we are deduplicating hits: holds all per-segment hits until the end, when we dedup them -
seenSurfaceForms
Only set if we are deduplicating hits: holds all surface forms seen so far in the current segment -
docBase
protected int docBaseDocument base offset for the current Leaf
-
-
Constructor Details
-
TopSuggestDocsCollector
public TopSuggestDocsCollector(int num, boolean skipDuplicates) Sole constructorCollects at most
num
completions with corresponding document and weight
-
-
Method Details
-
doSkipDuplicates
protected boolean doSkipDuplicates()Returns true if duplicates are filtered out -
getCountToCollect
public int getCountToCollect()Returns the number of results to be collected -
doSetNextReader
Description copied from class:SimpleCollector
This method is called before collectingcontext
.- Overrides:
doSetNextReader
in classSimpleCollector
- Throws:
IOException
-
collect
public void collect(int docID, CharSequence key, CharSequence context, float score) throws IOException Called for every matched completion, similar toLeafCollector.collect(int)
but for completions.NOTE: collection at the leaf level is guaranteed to be in descending order of score
- Throws:
IOException
-
get
Returns at mostnum
Top scoringTopSuggestDocs
s- Throws:
IOException
-
collect
Ignored- Specified by:
collect
in interfaceLeafCollector
- Specified by:
collect
in classSimpleCollector
- Throws:
IOException
-
scoreMode
Ignored
-