java.lang.Object
org.apache.lucene.search.Query
org.apache.lucene.search.AbstractVectorSimilarityQuery
- Direct Known Subclasses:
ByteVectorSimilarityQuery,FloatVectorSimilarityQuery
Search for all (approximate) vectors above a similarity threshold.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprivate static class -
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionAbstractVectorSimilarityQuery(String field, float traversalSimilarity, float resultSimilarity, Query filter) Search for all (approximate) vectors above a similarity threshold usingVectorSimilarityCollector. -
Method Summary
Modifier and TypeMethodDescriptionprotected abstract TopDocsapproximateSearch(LeafReaderContext context, Bits acceptDocs, int visitLimit) (package private) abstract VectorScorercreateVectorScorer(LeafReaderContext context) createWeight(IndexSearcher searcher, ScoreMode scoreMode, float boost) Expert: Constructs an appropriate Weight implementation for this query.booleanOverride and implement query instance equivalence properly in a subclass.inthashCode()Override and implement query hash code properly in a subclass.voidvisit(QueryVisitor visitor) Recurse through the query tree, visiting any child queries.
-
Field Details
-
field
-
traversalSimilarity
protected final float traversalSimilarity -
resultSimilarity
protected final float resultSimilarity -
filter
-
-
Constructor Details
-
AbstractVectorSimilarityQuery
AbstractVectorSimilarityQuery(String field, float traversalSimilarity, float resultSimilarity, Query filter) Search for all (approximate) vectors above a similarity threshold usingVectorSimilarityCollector. If a filter is applied, it traverses as many nodes as the cost of the filter, and then falls back to exact search if results are incomplete.- Parameters:
field- a field that has been indexed as a vector field.traversalSimilarity- (lower) similarity score for graph traversal.resultSimilarity- (higher) similarity score for result collection.filter- a filter applied before the vector search.
-
-
Method Details
-
createVectorScorer
- Throws:
IOException
-
approximateSearch
protected abstract TopDocs approximateSearch(LeafReaderContext context, Bits acceptDocs, int visitLimit) throws IOException - Throws:
IOException
-
createWeight
public Weight createWeight(IndexSearcher searcher, ScoreMode scoreMode, float boost) throws IOException Description copied from class:QueryExpert: Constructs an appropriate Weight implementation for this query.Only implemented by primitive queries, which re-write to themselves.
- Overrides:
createWeightin classQuery- Parameters:
scoreMode- How the produced scorers will be consumed.boost- The boost that is propagated by the parent queries.- Throws:
IOException
-
visit
Description copied from class:QueryRecurse through the query tree, visiting any child queries. -
equals
Description copied from class:QueryOverride and implement query instance equivalence properly in a subclass. This is required so thatQueryCacheworks properly.Typically a query will be equal to another only if it's an instance of the same class and its document-filtering properties are identical to those of the other instance. Utility methods are provided for certain repetitive code.
-
hashCode
public int hashCode()Description copied from class:QueryOverride and implement query hash code properly in a subclass. This is required so thatQueryCacheworks properly.
-