Module org.apache.lucene.suggest
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 intDocument base offset for the current Leafprivate final intprivate 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 CharArraySetOnly set if we are deduplicating hits: holds all surface forms seen so far in the current segment -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidcollect(int doc) Ignoredvoidcollect(int docID, CharSequence key, CharSequence context, float score) Called for every matched completion, similar toLeafCollector.collect(int)but for completions.protected voiddoSetNextReader(LeafReaderContext context) This method is called before collectingcontext.protected booleanReturns true if duplicates are filtered outvoidfinish()Hook that gets called once the leaf that is associated with this collector has finished collecting successfully, including when aCollectionTerminatedExceptionis thrown.get()Returns at mostnumTop scoringTopSuggestDocssintReturns the number of results to be collectedIgnoredMethods inherited from class org.apache.lucene.search.SimpleCollector
getLeafCollector, setScorerMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.apache.lucene.search.LeafCollector
collect, 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
numcompletions 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:SimpleCollectorThis method is called before collectingcontext.- Overrides:
doSetNextReaderin classSimpleCollector- Throws:
IOException
-
finish
Description copied from interface:LeafCollectorHook that gets called once the leaf that is associated with this collector has finished collecting successfully, including when aCollectionTerminatedExceptionis thrown. This is typically useful to compile data that has been collected on this leaf, e.g. to convert facet counts on leaf ordinals to facet counts on global ordinals. The default implementation does nothing.Note: It can be assumed that this method will only be called once per LeafCollector instance.
- 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 mostnumTop scoringTopSuggestDocss- Throws:
IOException
-
collect
Ignored- Specified by:
collectin interfaceLeafCollector- Specified by:
collectin classSimpleCollector- Throws:
IOException
-
scoreMode
Ignored
-