Package org.apache.lucene.search
Class KnnVectorQuery
- java.lang.Object
-
- org.apache.lucene.search.Query
-
- org.apache.lucene.search.KnnFloatVectorQuery
-
- org.apache.lucene.search.KnnVectorQuery
-
@Deprecated public class KnnVectorQuery extends KnnFloatVectorQuery
Deprecated.useKnnFloatVectorQueryinsteadUsesKnnVectorsReader.search(String, float[], int, Bits, int)to perform nearest neighbour search.This query also allows for performing a kNN search subject to a filter. In this case, it first executes the filter for each leaf, then chooses a strategy dynamically:
- If the filter cost is less than k, just execute an exact search
- Otherwise run a kNN search subject to the filter
- If the kNN search visits too many vectors without completing, stop and run an exact search
-
-
Constructor Summary
Constructors Constructor Description KnnVectorQuery(String field, float[] target, int k)Deprecated.KnnVectorQuery(String field, float[] target, int k, Query filter)Deprecated.
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description protected TopDocsexactSearch(LeafReaderContext context, DocIdSetIterator acceptIterator)StringgetField()QuerygetFilter()intgetK()Queryrewrite(IndexReader reader)Expert: called to re-write queries into primitive queries.voidvisit(QueryVisitor visitor)Recurse through the query tree, visiting any child queries-
Methods inherited from class org.apache.lucene.search.KnnFloatVectorQuery
approximateSearch, equals, getTargetCopy, hashCode, toString
-
Methods inherited from class org.apache.lucene.search.Query
classHash, createWeight, sameClassAs, toString
-
-
-
-
Field Detail
-
field
protected final String field
-
k
protected final int k
-
-
Method Detail
-
rewrite
public Query rewrite(IndexReader reader) throws IOException
Description copied from class:QueryExpert: called to re-write queries into primitive queries. For example, a PrefixQuery will be rewritten into a BooleanQuery that consists of TermQuerys.Callers are expected to call
rewritemultiple times if necessary, until the rewritten query is the same as the original query.- Overrides:
rewritein classQuery- Throws:
IOException- See Also:
IndexSearcher.rewrite(Query)
-
exactSearch
protected TopDocs exactSearch(LeafReaderContext context, DocIdSetIterator acceptIterator) throws IOException
- Throws:
IOException
-
visit
public void visit(QueryVisitor visitor)
Description copied from class:QueryRecurse through the query tree, visiting any child queries
-
getField
public String getField()
- Returns:
- the knn vector field where the knn vector search happens.
-
getK
public int getK()
- Returns:
- the max number of results the KnnVector search returns.
-
getFilter
public Query getFilter()
- Returns:
- the filter that is executed before the KnnVector search happens. Only the results accepted by this filter are returned by the KnnVector search.
-
-