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 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 outvoid
finish()
Hook that gets called once the leaf that is associated with this collector has finished collecting successfully, including when aCollectionTerminatedException
is thrown.get()
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
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
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
-
finish
Description copied from interface:LeafCollector
Hook that gets called once the leaf that is associated with this collector has finished collecting successfully, including when aCollectionTerminatedException
is 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 mostnum
Top scoringTopSuggestDocs
s- Throws:
IOException
-
collect
Ignored- Specified by:
collect
in interfaceLeafCollector
- Specified by:
collect
in classSimpleCollector
- Throws:
IOException
-
scoreMode
Ignored
-