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 TopDocs
approximateSearch
(LeafReaderContext context, Bits acceptDocs, int visitLimit, KnnCollectorManager knnCollectorManager) (package private) abstract VectorScorer
createVectorScorer
(LeafReaderContext context) createWeight
(IndexSearcher searcher, ScoreMode scoreMode, float boost) Expert: Constructs an appropriate Weight implementation for this query.boolean
Override and implement query instance equivalence properly in a subclass.protected KnnCollectorManager
int
hashCode()
Override and implement query hash code properly in a subclass.void
visit
(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
-
getKnnCollectorManager
-
createVectorScorer
- Throws:
IOException
-
approximateSearch
protected abstract TopDocs approximateSearch(LeafReaderContext context, Bits acceptDocs, int visitLimit, KnnCollectorManager knnCollectorManager) throws IOException - Throws:
IOException
-
createWeight
public Weight createWeight(IndexSearcher searcher, ScoreMode scoreMode, float boost) throws IOException Description copied from class:Query
Expert: Constructs an appropriate Weight implementation for this query.Only implemented by primitive queries, which re-write to themselves.
- Overrides:
createWeight
in 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:Query
Recurse through the query tree, visiting any child queries. -
equals
Description copied from class:Query
Override and implement query instance equivalence properly in a subclass. This is required so thatQueryCache
works 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:Query
Override and implement query hash code properly in a subclass. This is required so thatQueryCache
works properly.
-