Module org.elasticsearch.server
Class AbstractHnswVectorsFormat
java.lang.Object
org.apache.lucene.codecs.KnnVectorsFormat
org.elasticsearch.index.codec.vectors.AbstractHnswVectorsFormat
- All Implemented Interfaces:
org.apache.lucene.util.NamedSPILoader.NamedSPI
- Direct Known Subclasses:
ES814HnswScalarQuantizedVectorsFormat,ES815HnswBitVectorsFormat,ES816HnswBinaryQuantizedVectorsFormat,ES818HnswBinaryQuantizedVectorsFormat
public abstract class AbstractHnswVectorsFormat
extends org.apache.lucene.codecs.KnnVectorsFormat
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final intThe number of candidate neighbors to track while searching the graph for each newly inserted node.protected final intControls how many of the nearest neighbor candidates are connected to the new node.protected final org.apache.lucene.search.TaskExecutorprotected final intFields inherited from class org.apache.lucene.codecs.KnnVectorsFormat
DEFAULT_MAX_DIMENSIONS, EMPTY -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedConstructs a format using default graph construction parametersprotectedAbstractHnswVectorsFormat(String name, int maxConn, int beamWidth) Constructs a format using the given graph construction parameters.protectedAbstractHnswVectorsFormat(String name, int maxConn, int beamWidth, int numMergeWorkers, ExecutorService mergeExec) Constructs a format using the given graph construction parameters and scalar quantization. -
Method Summary
Modifier and TypeMethodDescriptionprotected abstract org.apache.lucene.codecs.hnsw.FlatVectorsFormatintgetMaxDimensions(String fieldName) toString()Methods inherited from class org.apache.lucene.codecs.KnnVectorsFormat
availableKnnVectorsFormats, fieldsReader, fieldsWriter, forName, getName, reloadKnnVectorsFormat
-
Field Details
-
maxConn
protected final int maxConnControls how many of the nearest neighbor candidates are connected to the new node. Defaults toLucene99HnswVectorsFormat.DEFAULT_MAX_CONN. SeeHnswGraphfor more details. -
beamWidth
protected final int beamWidthThe number of candidate neighbors to track while searching the graph for each newly inserted node. Defaults toLucene99HnswVectorsFormat.DEFAULT_BEAM_WIDTH. SeeHnswGraphfor details. -
numMergeWorkers
protected final int numMergeWorkers -
mergeExec
protected final org.apache.lucene.search.TaskExecutor mergeExec
-
-
Constructor Details
-
AbstractHnswVectorsFormat
Constructs a format using default graph construction parameters -
AbstractHnswVectorsFormat
Constructs a format using the given graph construction parameters.- Parameters:
maxConn- the maximum number of connections to a node in the HNSW graphbeamWidth- the size of the queue maintained during graph construction.
-
AbstractHnswVectorsFormat
protected AbstractHnswVectorsFormat(String name, int maxConn, int beamWidth, int numMergeWorkers, ExecutorService mergeExec) Constructs a format using the given graph construction parameters and scalar quantization.- Parameters:
maxConn- the maximum number of connections to a node in the HNSW graphbeamWidth- the size of the queue maintained during graph construction.numMergeWorkers- number of workers (threads) that will be used when doing merge. If larger than 1, a non-nullExecutorServicemust be passed as mergeExecmergeExec- theExecutorServicethat will be used by ALL vector writers that are generated by this format to do the merge
-
-
Method Details