Module org.elasticsearch.server
Interface VectorsFormatProvider
public interface VectorsFormatProvider
A service provider interface for obtaining Lucene
KnnVectorsFormat instances.
Plugins can implement this interface to provide custom vector formats-
Method Summary
Modifier and TypeMethodDescriptionorg.apache.lucene.codecs.KnnVectorsFormatgetKnnVectorsFormat(IndexSettings indexSettings, DenseVectorFieldMapper.DenseVectorIndexOptions indexOptions, DenseVectorFieldMapper.VectorSimilarity similarity, DenseVectorFieldMapper.ElementType elementType, ExecutorService mergingExecutorService, int maxMergingWorkers) Returns aKnnVectorsFormatinstance based on the provided index settings and vector index options.default booleanisVectorIndexTypeAllowed(IndexVersion indexVersionCreated, DenseVectorFieldMapper.VectorIndexType indexType) Returns whether a particular vector index type is allowed (e.g.
-
Method Details
-
getKnnVectorsFormat
org.apache.lucene.codecs.KnnVectorsFormat getKnnVectorsFormat(IndexSettings indexSettings, DenseVectorFieldMapper.DenseVectorIndexOptions indexOptions, DenseVectorFieldMapper.VectorSimilarity similarity, DenseVectorFieldMapper.ElementType elementType, ExecutorService mergingExecutorService, int maxMergingWorkers) Returns aKnnVectorsFormatinstance based on the provided index settings and vector index options. May returnnullif the provider does not support the format for the given index settings or vector index options.- Parameters:
indexSettings- The index settings.indexOptions- The dense vector index options.similarity- The vector similarity function.elementType- The type of elements in the vector.- Returns:
- A KnnVectorsFormat instance.
-
isVectorIndexTypeAllowed
default boolean isVectorIndexTypeAllowed(IndexVersion indexVersionCreated, DenseVectorFieldMapper.VectorIndexType indexType) Returns whether a particular vector index type is allowed (e.g. by licensing) for an index created on the given version.This method is intended for eager decisions such as selecting defaults. Implementations should not throw. Enforced checks must still happen in
getKnnVectorsFormat(IndexSettings, DenseVectorFieldMapper.DenseVectorIndexOptions, DenseVectorFieldMapper.VectorSimilarity, DenseVectorFieldMapper.ElementType, ExecutorService, int).
-