Module org.elasticsearch.server
Class ES816HnswBinaryQuantizedVectorsFormat
java.lang.Object
org.apache.lucene.codecs.KnnVectorsFormat
org.elasticsearch.index.codec.vectors.es816.ES816HnswBinaryQuantizedVectorsFormat
- All Implemented Interfaces:
org.apache.lucene.util.NamedSPILoader.NamedSPI
public class ES816HnswBinaryQuantizedVectorsFormat
extends org.apache.lucene.codecs.KnnVectorsFormat
Copied from Lucene, replace with Lucene's implementation sometime after Lucene 10
-
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.static final StringFields inherited from class org.apache.lucene.codecs.KnnVectorsFormat
DEFAULT_MAX_DIMENSIONS, EMPTY -
Constructor Summary
ConstructorsConstructorDescriptionConstructs a format using default graph construction parametersES816HnswBinaryQuantizedVectorsFormat(int maxConn, int beamWidth) Constructs a format using the given graph construction parameters.ES816HnswBinaryQuantizedVectorsFormat(int maxConn, int beamWidth, int numMergeWorkers, ExecutorService mergeExec) Constructs a format using the given graph construction parameters and scalar quantization. -
Method Summary
Modifier and TypeMethodDescriptionorg.apache.lucene.codecs.KnnVectorsReaderfieldsReader(org.apache.lucene.index.SegmentReadState state) org.apache.lucene.codecs.KnnVectorsWriterfieldsWriter(org.apache.lucene.index.SegmentWriteState state) intgetMaxDimensions(String fieldName) toString()Methods inherited from class org.apache.lucene.codecs.KnnVectorsFormat
availableKnnVectorsFormats, forName, getName, reloadKnnVectorsFormat
-
Field Details
-
NAME
- See Also:
-
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.
-
-
Constructor Details
-
ES816HnswBinaryQuantizedVectorsFormat
public ES816HnswBinaryQuantizedVectorsFormat()Constructs a format using default graph construction parameters -
ES816HnswBinaryQuantizedVectorsFormat
public ES816HnswBinaryQuantizedVectorsFormat(int maxConn, int beamWidth) 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.
-
ES816HnswBinaryQuantizedVectorsFormat
public ES816HnswBinaryQuantizedVectorsFormat(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
-
fieldsWriter
public org.apache.lucene.codecs.KnnVectorsWriter fieldsWriter(org.apache.lucene.index.SegmentWriteState state) throws IOException - Specified by:
fieldsWriterin classorg.apache.lucene.codecs.KnnVectorsFormat- Throws:
IOException
-
fieldsReader
public org.apache.lucene.codecs.KnnVectorsReader fieldsReader(org.apache.lucene.index.SegmentReadState state) throws IOException - Specified by:
fieldsReaderin classorg.apache.lucene.codecs.KnnVectorsFormat- Throws:
IOException
-
getMaxDimensions
- Specified by:
getMaxDimensionsin classorg.apache.lucene.codecs.KnnVectorsFormat
-
toString
-