Module org.elasticsearch.server
Class IVFVectorsReader<E extends IVFVectorsReader.FieldEntry>
java.lang.Object
org.apache.lucene.codecs.KnnVectorsReader
org.elasticsearch.index.codec.vectors.diskbbq.IVFVectorsReader<E>
- All Implemented Interfaces:
Closeable,AutoCloseable
- Direct Known Subclasses:
ES920DiskBBQVectorsReader,ES940DiskBBQVectorsReader,ESNextDiskBBQVectorsReader
public abstract class IVFVectorsReader<E extends IVFVectorsReader.FieldEntry>
extends org.apache.lucene.codecs.KnnVectorsReader
Reader for IVF vectors. This reader is used to read the IVF vectors from the index.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprotected static classstatic interface -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final org.apache.lucene.internal.hppc.IntObjectHashMap<E> protected final org.apache.lucene.store.IndexInputprotected final org.apache.lucene.store.IndexInputprotected int -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedIVFVectorsReader(org.apache.lucene.index.SegmentReadState state, GenericFlatVectorReaders.LoadFlatVectorsReader loadReader, String codecName, String centroidExtension, String clusterExtension, String metaExtension, int versionStart, int versionCurrent, int versionDirectIo, float dynamicVisitRatio) -
Method Summary
Modifier and TypeMethodDescriptionfinal voidvoidclose()protected abstract EdoReadField(org.apache.lucene.store.IndexInput input, String rawVectorFormat, boolean useDirectIOReads, org.apache.lucene.index.VectorSimilarityFunction similarityFunction, org.apache.lucene.index.VectorEncoding vectorEncoding, int numCentroids, long centroidOffset, long centroidLength, long postingListOffset, long postingListLength, float[] globalCentroid, float globalCentroidDp) final org.apache.lucene.index.ByteVectorValuesgetByteVectorValues(String field) abstract CentroidIteratorgetCentroidIterator(org.apache.lucene.index.FieldInfo fieldInfo, int numCentroids, org.apache.lucene.store.IndexInput centroids, float[] target, org.apache.lucene.store.IndexInput postingListSlice, org.apache.lucene.search.AcceptDocs acceptDocs, float approximateCost, org.apache.lucene.index.FloatVectorValues values, float visitRatio) final org.apache.lucene.index.FloatVectorValuesgetFloatVectorValues(String field) getOffHeapByteSize(org.apache.lucene.index.FieldInfo fieldInfo) abstract IVFVectorsReader.PostingVisitorgetPostingVisitor(org.apache.lucene.index.FieldInfo fieldInfo, int numVectors, org.apache.lucene.store.IndexInput postingsLists, float[] target, org.apache.lucene.util.Bits needsScoring, org.apache.lucene.store.IndexInput centroidSlice) protected org.apache.lucene.codecs.hnsw.FlatVectorsReadergetReaderForField(String field) protected static org.apache.lucene.store.IndexInputopenDataInput(org.apache.lucene.index.SegmentReadState state, int versionMeta, String fileExtension, String codecName, int versionStart, int versionCurrent, org.apache.lucene.store.IOContext context) final voidsearch(String field, byte[] target, org.apache.lucene.search.KnnCollector knnCollector, org.apache.lucene.search.AcceptDocs acceptDocs) final voidsearch(String field, float[] target, org.apache.lucene.search.KnnCollector knnCollector, org.apache.lucene.search.AcceptDocs acceptDocs) Methods inherited from class org.apache.lucene.codecs.KnnVectorsReader
finishMerge, getMergeInstance, mergeOffHeapByteSizeMaps
-
Field Details
-
ivfCentroids
protected final org.apache.lucene.store.IndexInput ivfCentroids -
ivfClusters
protected final org.apache.lucene.store.IndexInput ivfClusters -
fields
protected final org.apache.lucene.internal.hppc.IntObjectHashMap<E extends IVFVectorsReader.FieldEntry> fields -
versionMeta
protected int versionMeta
-
-
Constructor Details
-
IVFVectorsReader
protected IVFVectorsReader(org.apache.lucene.index.SegmentReadState state, GenericFlatVectorReaders.LoadFlatVectorsReader loadReader, String codecName, String centroidExtension, String clusterExtension, String metaExtension, int versionStart, int versionCurrent, int versionDirectIo, float dynamicVisitRatio) throws IOException - Throws:
IOException
-
-
Method Details
-
getCentroidIterator
public abstract CentroidIterator getCentroidIterator(org.apache.lucene.index.FieldInfo fieldInfo, int numCentroids, org.apache.lucene.store.IndexInput centroids, float[] target, org.apache.lucene.store.IndexInput postingListSlice, org.apache.lucene.search.AcceptDocs acceptDocs, float approximateCost, org.apache.lucene.index.FloatVectorValues values, float visitRatio) throws IOException - Throws:
IOException
-
openDataInput
protected static org.apache.lucene.store.IndexInput openDataInput(org.apache.lucene.index.SegmentReadState state, int versionMeta, String fileExtension, String codecName, int versionStart, int versionCurrent, org.apache.lucene.store.IOContext context) throws IOException - Throws:
IOException
-
doReadField
protected abstract E doReadField(org.apache.lucene.store.IndexInput input, String rawVectorFormat, boolean useDirectIOReads, org.apache.lucene.index.VectorSimilarityFunction similarityFunction, org.apache.lucene.index.VectorEncoding vectorEncoding, int numCentroids, long centroidOffset, long centroidLength, long postingListOffset, long postingListLength, float[] globalCentroid, float globalCentroidDp) throws IOException - Throws:
IOException
-
checkIntegrity
- Specified by:
checkIntegrityin classorg.apache.lucene.codecs.KnnVectorsReader- Throws:
IOException
-
getReaderForField
-
getFloatVectorValues
public final org.apache.lucene.index.FloatVectorValues getFloatVectorValues(String field) throws IOException - Specified by:
getFloatVectorValuesin classorg.apache.lucene.codecs.KnnVectorsReader- Throws:
IOException
-
getByteVectorValues
public final org.apache.lucene.index.ByteVectorValues getByteVectorValues(String field) throws IOException - Specified by:
getByteVectorValuesin classorg.apache.lucene.codecs.KnnVectorsReader- Throws:
IOException
-
search
public final void search(String field, float[] target, org.apache.lucene.search.KnnCollector knnCollector, org.apache.lucene.search.AcceptDocs acceptDocs) throws IOException - Specified by:
searchin classorg.apache.lucene.codecs.KnnVectorsReader- Throws:
IOException
-
search
public final void search(String field, byte[] target, org.apache.lucene.search.KnnCollector knnCollector, org.apache.lucene.search.AcceptDocs acceptDocs) throws IOException - Specified by:
searchin classorg.apache.lucene.codecs.KnnVectorsReader- Throws:
IOException
-
getOffHeapByteSize
- Overrides:
getOffHeapByteSizein classorg.apache.lucene.codecs.KnnVectorsReader
-
close
- Throws:
IOException
-
getPostingVisitor
public abstract IVFVectorsReader.PostingVisitor getPostingVisitor(org.apache.lucene.index.FieldInfo fieldInfo, int numVectors, org.apache.lucene.store.IndexInput postingsLists, float[] target, org.apache.lucene.util.Bits needsScoring, org.apache.lucene.store.IndexInput centroidSlice) throws IOException - Throws:
IOException
-