Package org.apache.lucene.search
Class TopKnnCollector
java.lang.Object
org.apache.lucene.search.AbstractKnnCollector
org.apache.lucene.search.TopKnnCollector
- All Implemented Interfaces:
KnnCollector
TopKnnCollector is a specific KnnCollector. A minHeap is used to keep track of the currently
collected vectors allowing for efficient updates as better vectors are collected.
- WARNING: This API is experimental and might change in incompatible ways in the next release.
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionboolean
collect
(int docId, float similarity) Collect the provided docId and include in the result set.float
This method is utilized during search to ensure only competitive results are explored.topDocs()
This drains the collected nearest kNN results and returns them in a newTopDocs
collection, ordered by score descending.toString()
Methods inherited from class org.apache.lucene.search.AbstractKnnCollector
earlyTerminated, incVisitedCount, k, visitedCount, visitLimit
-
Constructor Details
-
TopKnnCollector
public TopKnnCollector(int k, int visitLimit) - Parameters:
k
- the number of neighbors to collectvisitLimit
- how many vector nodes the results are allowed to visit
-
-
Method Details
-
collect
public boolean collect(int docId, float similarity) Description copied from interface:KnnCollector
Collect the provided docId and include in the result set.- Specified by:
collect
in interfaceKnnCollector
- Specified by:
collect
in classAbstractKnnCollector
- Parameters:
docId
- of the vector to collectsimilarity
- its calculated similarity- Returns:
- true if the vector is collected
-
minCompetitiveSimilarity
public float minCompetitiveSimilarity()Description copied from interface:KnnCollector
This method is utilized during search to ensure only competitive results are explored.Consequently, if this results collector wants to collect `k` results, this should return
Float.NEGATIVE_INFINITY
when not full.When full, the minimum score should be returned.
- Specified by:
minCompetitiveSimilarity
in interfaceKnnCollector
- Specified by:
minCompetitiveSimilarity
in classAbstractKnnCollector
- Returns:
- the current minimum competitive similarity in the collection
-
topDocs
Description copied from interface:KnnCollector
This drains the collected nearest kNN results and returns them in a newTopDocs
collection, ordered by score descending. NOTE: This is generally a destructive action and the collector should not be used after topDocs() is called.- Specified by:
topDocs
in interfaceKnnCollector
- Specified by:
topDocs
in classAbstractKnnCollector
- Returns:
- The collected top documents
-
toString
-