Module org.elasticsearch.server
Package org.elasticsearch.search.vectors
Class KnnVectorQueryBuilder
java.lang.Object
org.elasticsearch.index.query.AbstractQueryBuilder<KnnVectorQueryBuilder>
org.elasticsearch.search.vectors.KnnVectorQueryBuilder
- All Implemented Interfaces:
NamedWriteable,VersionedNamedWriteable,Writeable,QueryBuilder,Rewriteable<QueryBuilder>,ToXContent,ToXContentObject
A query that performs kNN search using Lucene's
KnnFloatVectorQuery or
KnnByteVectorQuery.-
Nested Class Summary
Nested classes/interfaces inherited from interface org.elasticsearch.xcontent.ToXContent
ToXContent.DelegatingMapParams, ToXContent.MapParams, ToXContent.ParamsNested classes/interfaces inherited from interface org.elasticsearch.common.io.stream.Writeable
Writeable.Reader<V>, Writeable.Writer<V> -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final TransportVersionstatic final ParseFieldstatic final ParseFieldstatic final ParseFieldstatic final Stringstatic final ParseFieldstatic final ConstructingObjectParser<KnnVectorQueryBuilder, Void> static final ParseFieldstatic final ParseFieldstatic final ParseFieldstatic final Set<Class<? extends QueryBuilder>> Semantic knn queries will be wrapped in a nested query as the target field is the nested embeddings vector.static final ParseFieldstatic final TransportVersionstatic final ParseFieldFields inherited from class org.elasticsearch.index.query.AbstractQueryBuilder
boost, BOOST_FIELD, DEFAULT_BOOST, NAME_FIELD, queryNameFields inherited from interface org.elasticsearch.index.query.Rewriteable
MAX_REWRITE_ROUNDSFields inherited from interface org.elasticsearch.xcontent.ToXContent
EMPTY, EMPTY_PARAMS -
Constructor Summary
ConstructorsConstructorDescriptionKnnVectorQueryBuilder(String fieldName, byte[] queryVector, Integer k, Integer numCands, Float visitPercentage, RescoreVectorBuilder rescoreVectorBuilder, Float vectorSimilarity) KnnVectorQueryBuilder(String fieldName, float[] queryVector, Integer k, Integer numCands, Float visitPercentage, RescoreVectorBuilder rescoreVectorBuilder, Float vectorSimilarity) KnnVectorQueryBuilder(String fieldName, QueryVectorBuilder queryVectorBuilder, Integer k, Integer numCands, Float visitPercentage, Float vectorSimilarity) KnnVectorQueryBuilder(String fieldName, VectorData queryVector, Integer k, Integer numCands, Float visitPercentage, RescoreVectorBuilder rescoreVectorBuilder, Float vectorSimilarity) -
Method Summary
Modifier and TypeMethodDescriptionaddFilterQueries(List<QueryBuilder> filterQueries) addFilterQuery(QueryBuilder filterQuery) protected booleandoEquals(KnnVectorQueryBuilder other) Indicates whether some otherQueryBuilderobject of the same type is "equal to" this one.protected intprotected QueryBuilderprotected org.apache.lucene.search.QuerydoToQuery(SearchExecutionContext context) protected voiddoWriteTo(StreamOutput out) protected voiddoXContent(XContentBuilder builder, ToXContent.Params params) static KnnVectorQueryBuilderfromXContent(XContentParser parser) The minimal version of the recipient this object can be sent to.Returns the name of the writeable objectbooleank()numCands()setAutoPrefilteringEnabled(boolean isAutoPrefilteringEnabled) setFilterQueries(List<QueryBuilder> filterQueries) Methods inherited from class org.elasticsearch.index.query.AbstractQueryBuilder
addValidationError, boost, boost, boostAndQueryNameToXContent, checkNegativeBoost, declareStandardFields, doCoordinatorRewrite, doIndexMetadataRewrite, doInnerHitsRewrite, doSearchRewrite, equals, extractInnerHitBuilders, getMaxNestedDepth, getName, hashCode, parseInnerQueryBuilder, parseTopLevelQuery, parseTopLevelQuery, printBoostAndQueryName, queryName, queryName, readQueries, requireValue, rewrite, setMaxNestedDepth, throwParsingExceptionOnMultipleFields, toQuery, toString, toXContent, writeQueries, writeToMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface org.elasticsearch.xcontent.ToXContentObject
isFragmentMethods inherited from interface org.elasticsearch.common.io.stream.VersionedNamedWriteable
supportsVersion
-
Field Details
-
AUTO_PREFILTERING
-
NAME
- See Also:
-
FIELD_FIELD
-
K_FIELD
-
NUM_CANDS_FIELD
-
VISIT_PERCENTAGE_FIELD
-
QUERY_VECTOR_FIELD
-
VECTOR_SIMILARITY_FIELD
-
FILTER_FIELD
-
QUERY_VECTOR_BUILDER_FIELD
-
RESCORE_VECTOR_FIELD
-
PARSER
-
UNSUPPORTED_AUTO_PREFILTERING_QUERY_TYPES
Semantic knn queries will be wrapped in a nested query as the target field is the nested embeddings vector. knn pre-filtering does not handle nested filters when the knn itself is in a nested query. (see elasticsearch/#138410) -
VISIT_PERCENTAGE
-
-
Constructor Details
-
KnnVectorQueryBuilder
-
KnnVectorQueryBuilder
-
KnnVectorQueryBuilder
-
KnnVectorQueryBuilder
public KnnVectorQueryBuilder(String fieldName, VectorData queryVector, Integer k, Integer numCands, Float visitPercentage, RescoreVectorBuilder rescoreVectorBuilder, Float vectorSimilarity) -
KnnVectorQueryBuilder
- Throws:
IOException
-
-
Method Details
-
fromXContent
-
getFieldName
-
queryVector
-
getVectorSimilarity
-
k
-
numCands
-
visitPercentage
-
filterQueries
-
queryVectorBuilder
-
rescoreVectorBuilder
-
addFilterQuery
-
addFilterQueries
-
setFilterQueries
-
isAutoPrefilteringEnabled
public boolean isAutoPrefilteringEnabled() -
doWriteTo
- Specified by:
doWriteToin classAbstractQueryBuilder<KnnVectorQueryBuilder>- Throws:
IOException
-
doXContent
- Specified by:
doXContentin classAbstractQueryBuilder<KnnVectorQueryBuilder>- Throws:
IOException
-
getWriteableName
Description copied from interface:VersionedNamedWriteableReturns the name of the writeable object -
doRewrite
- Overrides:
doRewritein classAbstractQueryBuilder<KnnVectorQueryBuilder>- Throws:
IOException
-
doToQuery
protected org.apache.lucene.search.Query doToQuery(SearchExecutionContext context) throws IOException - Specified by:
doToQueryin classAbstractQueryBuilder<KnnVectorQueryBuilder>- Throws:
IOException
-
doHashCode
protected int doHashCode()- Specified by:
doHashCodein classAbstractQueryBuilder<KnnVectorQueryBuilder>
-
doEquals
Description copied from class:AbstractQueryBuilderIndicates whether some otherQueryBuilderobject of the same type is "equal to" this one.- Specified by:
doEqualsin classAbstractQueryBuilder<KnnVectorQueryBuilder>
-
getMinimalSupportedVersion
Description copied from interface:VersionedNamedWriteableThe minimal version of the recipient this object can be sent to. SeeVersionedNamedWriteable.supportsVersion(TransportVersion)for the default serialization check. -
setAutoPrefilteringEnabled
-