Index

A B C D E F G H I J K L M N O P R S T U V W X 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form

A

AbstractLongHeap - Class in io.github.jbellis.jvector.util
A min heap that stores longs; a primitive priority queue that like all priority queues maintains a partial ordering of its elements such that the least element can always be found in constant time.
AbstractLongHeap(int) - Constructor for class io.github.jbellis.jvector.util.AbstractLongHeap
Create an empty heap with the configured initial size.
Accountable - Interface in io.github.jbellis.jvector.util
 
add(long) - Method in class io.github.jbellis.jvector.util.AbstractLongHeap
 
addGraphNode(int, RandomAccessVectorValues<T>) - Method in class io.github.jbellis.jvector.graph.GraphIndexBuilder
Inserts a node with the given vector value to the graph.
addInOrder(int, float) - Method in class io.github.jbellis.jvector.graph.NodeArray
Add a new node to the NodeArray.
addInPlace(float[], float[]) - Static method in class io.github.jbellis.jvector.vector.VectorUtil
 
addInPlace(float[], float[]) - Method in interface io.github.jbellis.jvector.vector.VectorUtilSupport
Adds v2 into v1, in place (v1 will be modified)
addNode(int) - Method in class io.github.jbellis.jvector.graph.OnHeapGraphIndex
Add the given node ordinal with an empty set of neighbors.
adjustForField(long, Field) - Static method in class io.github.jbellis.jvector.util.RamUsageEstimator
This method returns the maximum representation size of an object.
alignObjectSize(long) - Static method in class io.github.jbellis.jvector.util.RamUsageEstimator
Aligns an object size to be the next multiple of RamUsageEstimator.NUM_BYTES_OBJECT_ALIGNMENT.
ALL - Static variable in interface io.github.jbellis.jvector.util.Bits
 
and(FixedBitSet) - Method in class io.github.jbellis.jvector.util.FixedBitSet
this = this AND other
andNot(FixedBitSet) - Method in class io.github.jbellis.jvector.util.FixedBitSet
this = this AND NOT other
andNotCount(FixedBitSet, FixedBitSet) - Static method in class io.github.jbellis.jvector.util.FixedBitSet
Returns the popcount or cardinality of "a and not b" or "intersection(a, not(b))".
approximateCardinality() - Method in class io.github.jbellis.jvector.util.AtomicFixedBitSet
 
approximateCardinality() - Method in class io.github.jbellis.jvector.util.BitSet
Return an approximation of the cardinality of this set.
approximateCardinality() - Method in class io.github.jbellis.jvector.util.FixedBitSet
 
approximateCardinality() - Method in class io.github.jbellis.jvector.util.GrowableBitSet
 
approximateCardinality() - Method in class io.github.jbellis.jvector.util.SparseFixedBitSet
 
approximateCardinality() - Method in class io.github.jbellis.jvector.util.SynchronizedGrowableBitSet
 
approximateScoreFunctionFor(float[], VectorSimilarityFunction) - Method in class io.github.jbellis.jvector.pq.BQVectors
 
approximateScoreFunctionFor(float[], VectorSimilarityFunction) - Method in interface io.github.jbellis.jvector.pq.CompressedVectors
 
approximateScoreFunctionFor(float[], VectorSimilarityFunction) - Method in class io.github.jbellis.jvector.pq.PQVectors
 
arrayLength() - Method in class io.github.jbellis.jvector.graph.ConcurrentNeighborSet
 
ArrayNodesIterator(int[]) - Constructor for class io.github.jbellis.jvector.graph.NodesIterator.ArrayNodesIterator
 
ArrayNodesIterator(int[], int) - Constructor for class io.github.jbellis.jvector.graph.NodesIterator.ArrayNodesIterator
Constructor for iterator based on integer array representing nodes
ArrayUtil - Class in io.github.jbellis.jvector.util
Methods for manipulating arrays.
assembleAndSum(float[], int, byte[]) - Static method in class io.github.jbellis.jvector.vector.VectorUtil
 
assembleAndSum(float[], int, byte[]) - Method in interface io.github.jbellis.jvector.vector.VectorUtilSupport
Calculates the sum of sparse points in a vector.
AtomicFixedBitSet - Class in io.github.jbellis.jvector.util
A BitSet implementation that offers concurrent reads and writes through an AtomicLongArray as bit storage.
AtomicFixedBitSet(int) - Constructor for class io.github.jbellis.jvector.util.AtomicFixedBitSet
 

B

backlink(IntFunction<ConcurrentNeighborSet>, float) - Method in class io.github.jbellis.jvector.graph.ConcurrentNeighborSet
For every neighbor X that this node Y connects to, add a reciprocal link from X to Y.
BinaryQuantization - Class in io.github.jbellis.jvector.pq
Binary Quantization of float vectors: each float is compressed to a single bit, and similarity is computed with a simple Hamming distance.
BinaryQuantization(float[]) - Constructor for class io.github.jbellis.jvector.pq.BinaryQuantization
 
Bits - Interface in io.github.jbellis.jvector.util
Interface for Bitset-like structures.
Bits.MatchAllBits - Class in io.github.jbellis.jvector.util
Bits with all bits set.
Bits.MatchNoBits - Class in io.github.jbellis.jvector.util
Bits with no bits set.
bits2words(int) - Static method in class io.github.jbellis.jvector.util.FixedBitSet
returns the number of 64 bit words it would take to hold numBits
BitSet - Class in io.github.jbellis.jvector.util
Base implementation for a bit set.
BitSet() - Constructor for class io.github.jbellis.jvector.util.BitSet
 
BitUtil - Class in io.github.jbellis.jvector.util
A variety of high efficiency bit twiddling routines and encoders for primitives.
BoundedLongHeap - Class in io.github.jbellis.jvector.util
An AbstractLongHeap with a fixed maximum size, allocated at construction time.
BoundedLongHeap(int) - Constructor for class io.github.jbellis.jvector.util.BoundedLongHeap
Create an empty Heap of the configured initial size.
BoundedLongHeap(int, int) - Constructor for class io.github.jbellis.jvector.util.BoundedLongHeap
 
BQVectors - Class in io.github.jbellis.jvector.pq
 
BQVectors(BinaryQuantization, long[][]) - Constructor for class io.github.jbellis.jvector.pq.BQVectors
 
build() - Method in class io.github.jbellis.jvector.graph.GraphIndexBuilder
 
build() - Method in class io.github.jbellis.jvector.graph.GraphSearcher.Builder
 
Builder(GraphIndex.View<T>) - Constructor for class io.github.jbellis.jvector.graph.GraphSearcher.Builder
 
BYTE - Enum constant in enum class io.github.jbellis.jvector.vector.VectorEncoding
Encodes vector using 8 bits of precision per sample.
byteSize - Variable in enum class io.github.jbellis.jvector.vector.VectorEncoding
The number of bytes required to encode a scalar in this format.

C

CachedNode(float[], int[]) - Constructor for class io.github.jbellis.jvector.disk.GraphCache.CachedNode
 
CachingGraphIndex - Class in io.github.jbellis.jvector.disk
 
CachingGraphIndex(OnDiskGraphIndex<float[]>) - Constructor for class io.github.jbellis.jvector.disk.CachingGraphIndex
 
CachingGraphIndex(OnDiskGraphIndex<float[]>, int) - Constructor for class io.github.jbellis.jvector.disk.CachingGraphIndex
 
cardinality() - Method in class io.github.jbellis.jvector.util.AtomicFixedBitSet
 
cardinality() - Method in class io.github.jbellis.jvector.util.BitSet
Return the number of bits that are set.
cardinality() - Method in class io.github.jbellis.jvector.util.FixedBitSet
Returns number of set bits.
cardinality() - Method in class io.github.jbellis.jvector.util.GrowableBitSet
 
cardinality() - Method in class io.github.jbellis.jvector.util.SparseFixedBitSet
 
cardinality() - Method in class io.github.jbellis.jvector.util.SynchronizedGrowableBitSet
 
centroidOf(List<float[]>) - Static method in class io.github.jbellis.jvector.pq.KMeansPlusPlusClusterer
Computes the centroid of a list of points.
cleanup() - Method in class io.github.jbellis.jvector.graph.GraphIndexBuilder
Cleanup the graph by completing removal of marked-for-delete nodes, trimming neighbor sets to the advertised degree, and updating the entry node.
clear() - Method in class io.github.jbellis.jvector.graph.NodeArray
 
clear() - Method in class io.github.jbellis.jvector.graph.NodeQueue
 
clear() - Method in class io.github.jbellis.jvector.util.AbstractLongHeap
Removes all entries from the PriorityQueue.
clear() - Method in class io.github.jbellis.jvector.util.AtomicFixedBitSet
 
clear() - Method in class io.github.jbellis.jvector.util.BitSet
Clear all the bits of the set.
clear() - Method in class io.github.jbellis.jvector.util.FixedBitSet
 
clear() - Method in class io.github.jbellis.jvector.util.GrowableBitSet
 
clear() - Method in class io.github.jbellis.jvector.util.SparseFixedBitSet
 
clear() - Method in class io.github.jbellis.jvector.util.SynchronizedGrowableBitSet
 
clear(int) - Method in class io.github.jbellis.jvector.util.AtomicFixedBitSet
 
clear(int) - Method in class io.github.jbellis.jvector.util.BitSet
Clear the bit at i.
clear(int) - Method in class io.github.jbellis.jvector.util.FixedBitSet
 
clear(int) - Method in class io.github.jbellis.jvector.util.GrowableBitSet
 
clear(int) - Method in class io.github.jbellis.jvector.util.SparseFixedBitSet
Clear the bit at index i.
clear(int) - Method in class io.github.jbellis.jvector.util.SynchronizedGrowableBitSet
 
clear(int, int) - Method in class io.github.jbellis.jvector.util.AtomicFixedBitSet
 
clear(int, int) - Method in class io.github.jbellis.jvector.util.BitSet
Clears a range of bits.
clear(int, int) - Method in class io.github.jbellis.jvector.util.FixedBitSet
 
clear(int, int) - Method in class io.github.jbellis.jvector.util.GrowableBitSet
 
clear(int, int) - Method in class io.github.jbellis.jvector.util.SparseFixedBitSet
 
clear(int, int) - Method in class io.github.jbellis.jvector.util.SynchronizedGrowableBitSet
 
clone() - Method in class io.github.jbellis.jvector.util.FixedBitSet
 
close() - Method in class io.github.jbellis.jvector.disk.CachingGraphIndex
 
close() - Method in class io.github.jbellis.jvector.disk.OnDiskGraphIndex
 
close() - Method in class io.github.jbellis.jvector.disk.OnDiskGraphIndex.OnDiskView
 
close() - Method in interface io.github.jbellis.jvector.disk.RandomAccessReader
 
close() - Method in interface io.github.jbellis.jvector.disk.ReaderSupplier
 
close() - Method in class io.github.jbellis.jvector.disk.SimpleMappedReader
 
close() - Method in class io.github.jbellis.jvector.disk.SimpleMappedReaderSupplier
 
close() - Method in interface io.github.jbellis.jvector.graph.GraphIndex
 
close() - Method in class io.github.jbellis.jvector.graph.OnHeapGraphIndex
 
close() - Method in class io.github.jbellis.jvector.util.PhysicalCoreExecutor
 
cluster(int) - Method in class io.github.jbellis.jvector.pq.KMeansPlusPlusClusterer
Performs clustering on the provided set of points.
clusterOnce() - Method in class io.github.jbellis.jvector.pq.KMeansPlusPlusClusterer
 
compare(byte[], byte[]) - Method in enum class io.github.jbellis.jvector.vector.VectorSimilarityFunction
Calculates a similarity score between the two vectors with a specified function.
compare(float[], float[]) - Method in enum class io.github.jbellis.jvector.vector.VectorSimilarityFunction
Calculates a similarity score between the two vectors with a specified function.
COMPRESSED_REFS_ENABLED - Static variable in class io.github.jbellis.jvector.util.RamUsageEstimator
True, iff compressed references (oops) are enabled by this JVM
CompressedVectors - Interface in io.github.jbellis.jvector.pq
 
compute(RandomAccessVectorValues<float[]>) - Static method in class io.github.jbellis.jvector.pq.BinaryQuantization
 
compute(RandomAccessVectorValues<float[]>, int, boolean) - Static method in class io.github.jbellis.jvector.pq.ProductQuantization
Initializes the codebooks by clustering the input data using Product Quantization.
compute(RandomAccessVectorValues<float[]>, int, boolean, ForkJoinPool, ForkJoinPool) - Static method in class io.github.jbellis.jvector.pq.ProductQuantization
Initializes the codebooks by clustering the input data using Product Quantization.
compute(RandomAccessVectorValues<float[]>, ForkJoinPool) - Static method in class io.github.jbellis.jvector.pq.BinaryQuantization
 
ConcurrentNeighborSet - Class in io.github.jbellis.jvector.graph
A concurrent set of neighbors that encapsulates diversity/pruning mechanics.
ConcurrentNeighborSet(int, int, NodeSimilarity) - Constructor for class io.github.jbellis.jvector.graph.ConcurrentNeighborSet
 
ConcurrentNeighborSet(int, int, NodeSimilarity, float) - Constructor for class io.github.jbellis.jvector.graph.ConcurrentNeighborSet
 
Constants - Class in io.github.jbellis.jvector.util
Some useful constants.
containsKey(int) - Method in class io.github.jbellis.jvector.util.DenseIntMap
 
containsNode(int) - Method in interface io.github.jbellis.jvector.graph.GraphIndex
 
containsNode(int) - Method in class io.github.jbellis.jvector.graph.OnHeapGraphIndex
 
copy() - Method in class io.github.jbellis.jvector.graph.ConcurrentNeighborSet
 
copy() - Method in class io.github.jbellis.jvector.graph.ListRandomAccessVectorValues
 
copy() - Method in class io.github.jbellis.jvector.graph.NodeArray
 
copy() - Method in interface io.github.jbellis.jvector.graph.RandomAccessVectorValues
Creates a new copy of this RandomAccessVectorValues.
copyOf(Bits) - Static method in class io.github.jbellis.jvector.util.FixedBitSet
Make a copy of the given bits.
copyOfSubArray(byte[], int, int) - Static method in class io.github.jbellis.jvector.util.ArrayUtil
Copies the specified range of the given array into a new sub array.
copyOfSubArray(float[], int, int) - Static method in class io.github.jbellis.jvector.util.ArrayUtil
Copies the specified range of the given array into a new sub array.
copyOfSubArray(int[], int, int) - Static method in class io.github.jbellis.jvector.util.ArrayUtil
Copies the specified range of the given array into a new sub array.
copyOfSubArray(long[], int, int) - Static method in class io.github.jbellis.jvector.util.ArrayUtil
Copies the specified range of the given array into a new sub array.
copyOfSubArray(T[], int, int) - Static method in class io.github.jbellis.jvector.util.ArrayUtil
Copies the specified range of the given array into a new sub array.
cosine(byte[], byte[]) - Static method in class io.github.jbellis.jvector.vector.VectorUtil
Returns the cosine similarity between the two vectors.
cosine(byte[], byte[]) - Method in interface io.github.jbellis.jvector.vector.VectorUtilSupport
Returns the cosine similarity between the two byte vectors.
cosine(float[], float[]) - Static method in class io.github.jbellis.jvector.vector.VectorUtil
Returns the cosine similarity between the two vectors.
cosine(float[], float[]) - Method in interface io.github.jbellis.jvector.vector.VectorUtilSupport
Returns the cosine similarity between the two vectors.
COSINE - Enum constant in enum class io.github.jbellis.jvector.vector.VectorSimilarityFunction
Cosine similarity.
createCompressedVectors(Object[]) - Method in class io.github.jbellis.jvector.pq.BinaryQuantization
 
createCompressedVectors(Object[]) - Method in class io.github.jbellis.jvector.pq.ProductQuantization
 
createCompressedVectors(Object[]) - Method in interface io.github.jbellis.jvector.pq.VectorCompressor
 

D

decode(byte[], float[]) - Method in class io.github.jbellis.jvector.pq.ProductQuantization
Decodes the quantized representation (byte array) to its approximate original vector.
DefaultVectorizationProvider - Class in io.github.jbellis.jvector.vector
Default provider returning scalar implementations.
DefaultVectorizationProvider() - Constructor for class io.github.jbellis.jvector.vector.DefaultVectorizationProvider
 
DenseIntMap<T> - Class in io.github.jbellis.jvector.util
A map (but not a Map) of int -> T where the int keys are dense-ish and start at zero, but the size of the map is not known in advance.
DenseIntMap(int) - Constructor for class io.github.jbellis.jvector.util.DenseIntMap
 
descSortFindRightMostInsertionPoint(float) - Method in class io.github.jbellis.jvector.graph.NodeArray
 
dimension() - Method in class io.github.jbellis.jvector.graph.ListRandomAccessVectorValues
 
dimension() - Method in interface io.github.jbellis.jvector.graph.RandomAccessVectorValues
Return the dimension of the returned vector values
DocIdSetIterator - Class in io.github.jbellis.jvector.util
 
DocIdSetIterator() - Constructor for class io.github.jbellis.jvector.util.DocIdSetIterator
 
DOT_PRODUCT - Enum constant in enum class io.github.jbellis.jvector.vector.VectorSimilarityFunction
Dot product.
dotProduct(byte[], byte[]) - Static method in class io.github.jbellis.jvector.vector.VectorUtil
Dot product computed over signed bytes.
dotProduct(byte[], byte[]) - Method in interface io.github.jbellis.jvector.vector.VectorUtilSupport
Returns the dot product computed over signed bytes.
dotProduct(float[], float[]) - Static method in class io.github.jbellis.jvector.vector.VectorUtil
Returns the vector dot product of the two vectors.
dotProduct(float[], float[]) - Method in interface io.github.jbellis.jvector.vector.VectorUtilSupport
Calculates the dot product of the given float arrays.
dotProduct(float[], int, float[], int, int) - Static method in class io.github.jbellis.jvector.vector.VectorUtil
 
dotProduct(float[], int, float[], int, int) - Method in interface io.github.jbellis.jvector.vector.VectorUtilSupport
Calculates the dot product of float arrays of differing sizes, or a subset of the data
dotProductScore(byte[], byte[]) - Static method in class io.github.jbellis.jvector.vector.VectorUtil
Dot product score computed over signed bytes, scaled to be in [0, 1].
downHeap(int) - Method in class io.github.jbellis.jvector.util.AbstractLongHeap
 
duplicate() - Method in class io.github.jbellis.jvector.disk.SimpleMappedReader
 

E

EMPTY - Static variable in class io.github.jbellis.jvector.graph.NodeArray
 
encode(float[]) - Method in class io.github.jbellis.jvector.pq.BinaryQuantization
Encodes the input vector
encode(float[]) - Method in class io.github.jbellis.jvector.pq.ProductQuantization
Encodes the input vector using the PQ codebooks.
encode(float[]) - Method in interface io.github.jbellis.jvector.pq.VectorCompressor
 
encodeAll(List<float[]>) - Method in interface io.github.jbellis.jvector.pq.VectorCompressor
 
encodeAll(List<float[]>, ForkJoinPool) - Method in class io.github.jbellis.jvector.pq.BinaryQuantization
 
encodeAll(List<float[]>, ForkJoinPool) - Method in class io.github.jbellis.jvector.pq.ProductQuantization
Encodes the given vectors in parallel using the PQ codebooks.
encodeAll(List<float[]>, ForkJoinPool) - Method in interface io.github.jbellis.jvector.pq.VectorCompressor
 
enforceDegree() - Method in class io.github.jbellis.jvector.graph.ConcurrentNeighborSet
Enforce maxConnections as a hard cap, since we allow it to be exceeded temporarily during construction for efficiency.
ensureCapacity(FixedBitSet, int) - Static method in class io.github.jbellis.jvector.util.FixedBitSet
If the given FixedBitSet is large enough to hold numBits+1, returns the given bits, otherwise returns a new FixedBitSet which can hold the requested number of bits.
entryNode() - Method in class io.github.jbellis.jvector.disk.OnDiskGraphIndex.OnDiskView
 
entryNode() - Method in interface io.github.jbellis.jvector.graph.GraphIndex.View
 
entrySet() - Method in class io.github.jbellis.jvector.util.DenseIntMap
 
equals(Object) - Method in class io.github.jbellis.jvector.pq.BinaryQuantization
 
equals(Object) - Method in class io.github.jbellis.jvector.pq.BQVectors
 
equals(Object) - Method in class io.github.jbellis.jvector.pq.PQVectors
 
equals(Object) - Method in class io.github.jbellis.jvector.pq.ProductQuantization
 
equals(Object) - Method in class io.github.jbellis.jvector.util.FixedBitSet
 
EUCLIDEAN - Enum constant in enum class io.github.jbellis.jvector.vector.VectorSimilarityFunction
Euclidean distance
execute(Runnable) - Method in class io.github.jbellis.jvector.util.PhysicalCoreExecutor
 
Experimental - Annotation Interface in io.github.jbellis.jvector.annotations
Indicates that an API is experimental and may change or be removed in future releases with no prior notice.
ExplicitThreadLocal<U> - Class in io.github.jbellis.jvector.util
The standard ThreadLocal appears to be designed to be used with relatively short-lived Threads.
ExplicitThreadLocal() - Constructor for class io.github.jbellis.jvector.util.ExplicitThreadLocal
 

F

FixedBitSet - Class in io.github.jbellis.jvector.util
BitSet of fixed length (numBits), backed by accessible (FixedBitSet.getBits()) long[], accessed with an int index, implementing Bits.
FixedBitSet(int) - Constructor for class io.github.jbellis.jvector.util.FixedBitSet
Creates a new LongBitSet.
FixedBitSet(long[], int) - Constructor for class io.github.jbellis.jvector.util.FixedBitSet
Creates a new LongBitSet using the provided long[] array as backing store.
flip(int) - Method in class io.github.jbellis.jvector.util.FixedBitSet
Flip the bit at the provided index.
flip(int, int) - Method in class io.github.jbellis.jvector.util.FixedBitSet
Flips a range of bits
FLOAT32 - Enum constant in enum class io.github.jbellis.jvector.vector.VectorEncoding
Encodes vector using 32 bits of precision per sample in IEEE floating point format.
floatToSortableInt(float) - Static method in class io.github.jbellis.jvector.util.NumericUtils
Converts a float value to a sortable signed int.
fromPrimitiveIterator(PrimitiveIterator.OfInt, int) - Static method in class io.github.jbellis.jvector.graph.NodesIterator
 

G

get() - Method in interface io.github.jbellis.jvector.disk.ReaderSupplier
 
get() - Method in class io.github.jbellis.jvector.disk.SimpleMappedReaderSupplier
 
get() - Method in class io.github.jbellis.jvector.util.ExplicitThreadLocal
 
get(int) - Method in class io.github.jbellis.jvector.pq.BQVectors
 
get(int) - Method in class io.github.jbellis.jvector.util.AbstractLongHeap
Return the element at the ith location in the heap array.
get(int) - Method in class io.github.jbellis.jvector.util.AtomicFixedBitSet
 
get(int) - Method in interface io.github.jbellis.jvector.util.Bits
Returns the value of the bit with the specified index.
get(int) - Method in class io.github.jbellis.jvector.util.Bits.MatchAllBits
 
get(int) - Method in class io.github.jbellis.jvector.util.Bits.MatchNoBits
 
get(int) - Method in class io.github.jbellis.jvector.util.DenseIntMap
 
get(int) - Method in class io.github.jbellis.jvector.util.FixedBitSet
 
get(int) - Method in class io.github.jbellis.jvector.util.GrowableBitSet
 
get(int) - Method in class io.github.jbellis.jvector.util.SparseFixedBitSet
 
get(int) - Method in class io.github.jbellis.jvector.util.SynchronizedGrowableBitSet
 
getAndClear(int) - Method in class io.github.jbellis.jvector.util.FixedBitSet
 
getAndSet(int) - Method in class io.github.jbellis.jvector.util.AtomicFixedBitSet
 
getAndSet(int) - Method in class io.github.jbellis.jvector.util.BitSet
Set the bit at i, returning true if it was previously set.
getAndSet(int) - Method in class io.github.jbellis.jvector.util.FixedBitSet
 
getAndSet(int) - Method in class io.github.jbellis.jvector.util.GrowableBitSet
 
getAndSet(int) - Method in class io.github.jbellis.jvector.util.SparseFixedBitSet
 
getAndSet(int) - Method in class io.github.jbellis.jvector.util.SynchronizedGrowableBitSet
 
getAverageDegree() - Method in class io.github.jbellis.jvector.graph.OnHeapGraphIndex
 
getAverageShortEdges() - Method in class io.github.jbellis.jvector.graph.OnHeapGraphIndex
 
getBits() - Method in class io.github.jbellis.jvector.util.FixedBitSet
Expert.
getCenter() - Method in class io.github.jbellis.jvector.pq.ProductQuantization
 
getCentroids() - Method in class io.github.jbellis.jvector.pq.KMeansPlusPlusClusterer
 
getClusterCount() - Method in class io.github.jbellis.jvector.pq.ProductQuantization
 
getCompressedSize() - Method in class io.github.jbellis.jvector.pq.BQVectors
 
getCompressedSize() - Method in interface io.github.jbellis.jvector.pq.CompressedVectors
 
getCompressedSize() - Method in class io.github.jbellis.jvector.pq.PQVectors
 
getCompressor() - Method in class io.github.jbellis.jvector.pq.BQVectors
 
getCompressor() - Method in interface io.github.jbellis.jvector.pq.CompressedVectors
 
getCompressor() - Method in class io.github.jbellis.jvector.pq.PQVectors
 
getDeletedNodes() - Method in class io.github.jbellis.jvector.graph.OnHeapGraphIndex
 
getGraph() - Method in class io.github.jbellis.jvector.graph.GraphIndexBuilder
 
getIdUpperBound() - Method in interface io.github.jbellis.jvector.graph.GraphIndex
 
getIdUpperBound() - Method in interface io.github.jbellis.jvector.graph.GraphIndex.View
 
getIdUpperBound() - Method in class io.github.jbellis.jvector.graph.OnHeapGraphIndex
 
getInstance() - Static method in class io.github.jbellis.jvector.vector.VectorizationProvider
Returns the default instance of the provider matching vectorization possibilities of actual runtime.
getNeighborsIterator(int) - Method in class io.github.jbellis.jvector.disk.OnDiskGraphIndex.OnDiskView
 
getNeighborsIterator(int) - Method in interface io.github.jbellis.jvector.graph.GraphIndex.View
Iterator over the neighbors of a given node.
getNode(int) - Method in class io.github.jbellis.jvector.disk.GraphCache
return the cached node if present, or null if not
getNodes() - Method in class io.github.jbellis.jvector.disk.CachingGraphIndex
 
getNodes() - Method in class io.github.jbellis.jvector.disk.OnDiskGraphIndex
 
getNodes() - Method in interface io.github.jbellis.jvector.graph.GraphIndex
Get all node ordinals included in the graph.
getNodes() - Method in class io.github.jbellis.jvector.graph.OnHeapGraphIndex
 
getNodes() - Method in class io.github.jbellis.jvector.graph.SearchResult
 
getNodesIterator() - Method in class io.github.jbellis.jvector.util.DenseIntMap
 
getOriginalDimension() - Method in class io.github.jbellis.jvector.pq.BinaryQuantization
 
getOriginalSize() - Method in class io.github.jbellis.jvector.pq.BQVectors
 
getOriginalSize() - Method in interface io.github.jbellis.jvector.pq.CompressedVectors
 
getOriginalSize() - Method in class io.github.jbellis.jvector.pq.PQVectors
 
getPhysicalCoreCount() - Static method in class io.github.jbellis.jvector.util.PhysicalCoreExecutor
 
getSequentialRenumbering(GraphIndex<T>) - Static method in class io.github.jbellis.jvector.disk.OnDiskGraphIndex
 
getShortEdges() - Method in class io.github.jbellis.jvector.graph.ConcurrentNeighborSet
 
getSubspaceCount() - Method in class io.github.jbellis.jvector.pq.ProductQuantization
 
getVector(int) - Method in class io.github.jbellis.jvector.disk.OnDiskGraphIndex.OnDiskView
 
getVector(int) - Method in interface io.github.jbellis.jvector.graph.GraphIndex.View
Retrieve the vector associated with a given node.
getVectorUtilSupport() - Method in class io.github.jbellis.jvector.vector.DefaultVectorizationProvider
 
getVectorUtilSupport() - Method in class io.github.jbellis.jvector.vector.PanamaVectorizationProvider
 
getVectorUtilSupport() - Method in class io.github.jbellis.jvector.vector.VectorizationProvider
Returns a singleton (stateless) VectorUtilSupport to support SIMD usage in VectorUtil.
getView() - Method in class io.github.jbellis.jvector.disk.CachingGraphIndex
 
getView() - Method in class io.github.jbellis.jvector.disk.OnDiskGraphIndex
return a Graph that can be safely queried concurrently
getView() - Method in interface io.github.jbellis.jvector.graph.GraphIndex
Return a View with which to navigate the graph.
getView() - Method in class io.github.jbellis.jvector.graph.OnHeapGraphIndex
Returns a view of the graph that is safe to use concurrently with updates performed on the underlying graph.
getVisitedCount() - Method in class io.github.jbellis.jvector.graph.SearchResult
 
GraphCache - Class in io.github.jbellis.jvector.disk
 
GraphCache() - Constructor for class io.github.jbellis.jvector.disk.GraphCache
 
GraphCache.CachedNode - Class in io.github.jbellis.jvector.disk
 
GraphIndex<T> - Interface in io.github.jbellis.jvector.graph
Represents a graph-based vector index.
GraphIndex.View<T> - Interface in io.github.jbellis.jvector.graph
 
GraphIndexBuilder<T> - Class in io.github.jbellis.jvector.graph
Builder for Concurrent GraphIndex.
GraphIndexBuilder(RandomAccessVectorValues<T>, VectorEncoding, VectorSimilarityFunction, int, int, float, float) - Constructor for class io.github.jbellis.jvector.graph.GraphIndexBuilder
Reads all the vectors from vector values, builds a graph connecting them by their dense ordinals, using the given hyperparameter settings, and returns the resulting graph.
GraphIndexBuilder(RandomAccessVectorValues<T>, VectorEncoding, VectorSimilarityFunction, int, int, float, float, ForkJoinPool, ForkJoinPool) - Constructor for class io.github.jbellis.jvector.graph.GraphIndexBuilder
Reads all the vectors from vector values, builds a graph connecting them by their dense ordinals, using the given hyperparameter settings, and returns the resulting graph.
GraphSearcher<T> - Class in io.github.jbellis.jvector.graph
Searches a graph to find nearest neighbors to a query vector.
GraphSearcher.Builder<T> - Class in io.github.jbellis.jvector.graph
Builder
grow(byte[], int) - Static method in class io.github.jbellis.jvector.util.ArrayUtil
Returns an array whose size is at least minSize, generally over-allocating exponentially
grow(char[], int) - Static method in class io.github.jbellis.jvector.util.ArrayUtil
Returns an array whose size is at least minSize, generally over-allocating exponentially
grow(double[], int) - Static method in class io.github.jbellis.jvector.util.ArrayUtil
Returns an array whose size is at least minSize, generally over-allocating exponentially
grow(float[], int) - Static method in class io.github.jbellis.jvector.util.ArrayUtil
Returns an array whose size is at least minSize, generally over-allocating exponentially
grow(int[]) - Static method in class io.github.jbellis.jvector.util.ArrayUtil
Returns a larger array, generally over-allocating exponentially
grow(int[], int) - Static method in class io.github.jbellis.jvector.util.ArrayUtil
Returns an array whose size is at least minSize, generally over-allocating exponentially
grow(long[], int) - Static method in class io.github.jbellis.jvector.util.ArrayUtil
Returns an array whose size is at least minSize, generally over-allocating exponentially
grow(short[], int) - Static method in class io.github.jbellis.jvector.util.ArrayUtil
Returns an array whose size is at least minSize, generally over-allocating exponentially
grow(T[], int) - Static method in class io.github.jbellis.jvector.util.ArrayUtil
Returns an array whose size is at least minSize, generally over-allocating exponentially
GrowableBitSet - Class in io.github.jbellis.jvector.util
A BitSet implementation that grows as needed to accommodate set(index) calls.
GrowableBitSet(int) - Constructor for class io.github.jbellis.jvector.util.GrowableBitSet
 
GrowableBitSet(BitSet) - Constructor for class io.github.jbellis.jvector.util.GrowableBitSet
 
GrowableLongHeap - Class in io.github.jbellis.jvector.util
An AbstractLongHeap that can grow in size (unbounded, except for memory and array size limits).
GrowableLongHeap(int) - Constructor for class io.github.jbellis.jvector.util.GrowableLongHeap
Create an empty heap with the configured initial size.
growArrays() - Method in class io.github.jbellis.jvector.graph.NodeArray
 
growExact(byte[], int) - Static method in class io.github.jbellis.jvector.util.ArrayUtil
Returns a new array whose size is exact the specified newLength without over-allocating
growExact(char[], int) - Static method in class io.github.jbellis.jvector.util.ArrayUtil
Returns a new array whose size is exact the specified newLength without over-allocating
growExact(double[], int) - Static method in class io.github.jbellis.jvector.util.ArrayUtil
Returns a new array whose size is exact the specified newLength without over-allocating
growExact(float[], int) - Static method in class io.github.jbellis.jvector.util.ArrayUtil
Returns a new array whose size is exact the specified newLength without over-allocating
growExact(int[], int) - Static method in class io.github.jbellis.jvector.util.ArrayUtil
Returns a new array whose size is exact the specified newLength without over-allocating
growExact(long[], int) - Static method in class io.github.jbellis.jvector.util.ArrayUtil
Returns a new array whose size is exact the specified newLength without over-allocating
growExact(short[], int) - Static method in class io.github.jbellis.jvector.util.ArrayUtil
Returns a new array whose size is exact the specified newLength without over-allocating
growExact(T[], int) - Static method in class io.github.jbellis.jvector.util.ArrayUtil
Returns a new array whose size is exact the specified newLength without over-allocating

H

hammingDistance(long[], long[]) - Static method in class io.github.jbellis.jvector.vector.VectorUtil
 
hammingDistance(long[], long[]) - Method in interface io.github.jbellis.jvector.vector.VectorUtilSupport
 
hashCode() - Method in class io.github.jbellis.jvector.pq.BinaryQuantization
 
hashCode() - Method in class io.github.jbellis.jvector.pq.BQVectors
 
hashCode() - Method in class io.github.jbellis.jvector.pq.PQVectors
 
hashCode() - Method in class io.github.jbellis.jvector.pq.ProductQuantization
 
hashCode() - Method in class io.github.jbellis.jvector.util.FixedBitSet
 
HASHTABLE_RAM_BYTES_PER_ENTRY - Static variable in class io.github.jbellis.jvector.util.RamUsageEstimator
Approximate memory usage that we assign to a Hashtable / HashMap entry.
hasNext() - Method in class io.github.jbellis.jvector.graph.NodesIterator.ArrayNodesIterator
 
heap - Variable in class io.github.jbellis.jvector.util.AbstractLongHeap
 
humanReadableUnits(long, DecimalFormat) - Static method in class io.github.jbellis.jvector.util.RamUsageEstimator
Returns size in human-readable units (GB, MB, KB or bytes).

I

improveConnections(int) - Method in class io.github.jbellis.jvector.graph.GraphIndexBuilder
 
initialValue() - Method in class io.github.jbellis.jvector.util.ExplicitThreadLocal
 
insert(int, float, float) - Method in class io.github.jbellis.jvector.graph.ConcurrentNeighborSet
Insert a new neighbor, maintaining our size cap by removing the least diverse neighbor if necessary.
insertDiverse(NodeArray, NodeArray) - Method in class io.github.jbellis.jvector.graph.ConcurrentNeighborSet
For each candidate (going from best to worst), select it only if it is closer to target than it is to any of the already-selected candidates.
insertsInProgress() - Method in class io.github.jbellis.jvector.graph.GraphIndexBuilder
Number of inserts in progress, across all threads.
insertSorted(int, float) - Method in class io.github.jbellis.jvector.graph.NodeArray
Add a new node to the NodeArray into a correct sort position according to its score.
instance - Static variable in class io.github.jbellis.jvector.util.PhysicalCoreExecutor
 
intersectionCount(FixedBitSet, FixedBitSet) - Static method in class io.github.jbellis.jvector.util.FixedBitSet
Returns the popcount or cardinality of the intersection of the two sets.
intersectionOf(Bits, Bits) - Static method in interface io.github.jbellis.jvector.util.Bits
Return a Bits that is set for a given ordinal iff both it is set in both `a` and `b`.
intersects(FixedBitSet) - Method in class io.github.jbellis.jvector.util.FixedBitSet
returns true if the sets have any elements in common
inverseOf(Bits) - Static method in interface io.github.jbellis.jvector.util.Bits
Returns a Bits that is true when `bits` is false, and false when `bits` is true
Io - Class in io.github.jbellis.jvector.disk
 
Io() - Constructor for class io.github.jbellis.jvector.disk.Io
 
io.github.jbellis.jvector.annotations - package io.github.jbellis.jvector.annotations
 
io.github.jbellis.jvector.disk - package io.github.jbellis.jvector.disk
 
io.github.jbellis.jvector.exceptions - package io.github.jbellis.jvector.exceptions
 
io.github.jbellis.jvector.graph - package io.github.jbellis.jvector.graph
 
io.github.jbellis.jvector.pq - package io.github.jbellis.jvector.pq
 
io.github.jbellis.jvector.util - package io.github.jbellis.jvector.util
 
io.github.jbellis.jvector.vector - package io.github.jbellis.jvector.vector
 
isExact() - Method in interface io.github.jbellis.jvector.graph.NodeSimilarity.ApproximateScoreFunction
 
isExact() - Method in interface io.github.jbellis.jvector.graph.NodeSimilarity.ExactScoreFunction
 
isExact() - Method in interface io.github.jbellis.jvector.graph.NodeSimilarity.ScoreFunction
 
isValueShared() - Method in class io.github.jbellis.jvector.graph.ListRandomAccessVectorValues
 
isValueShared() - Method in interface io.github.jbellis.jvector.graph.RandomAccessVectorValues
 
iterator() - Method in class io.github.jbellis.jvector.graph.ConcurrentNeighborSet
 

J

JRE_IS_64BIT - Static variable in class io.github.jbellis.jvector.util.Constants
True iff running on a 64bit JVM

K

keySet() - Method in class io.github.jbellis.jvector.util.DenseIntMap
 
KMeansPlusPlusClusterer - Class in io.github.jbellis.jvector.pq
A KMeans++ implementation for float vectors.
KMeansPlusPlusClusterer(float[][], float[][]) - Constructor for class io.github.jbellis.jvector.pq.KMeansPlusPlusClusterer
Constructs a KMeansPlusPlusFloatClusterer with the specified points and initial centroids.
KMeansPlusPlusClusterer(float[][], int) - Constructor for class io.github.jbellis.jvector.pq.KMeansPlusPlusClusterer
Constructs a KMeansPlusPlusFloatClusterer with the specified points and number of clusters.

L

l2normalize(float[]) - Static method in class io.github.jbellis.jvector.vector.VectorUtil
Modifies the argument to be unit length, dividing by its l2-norm.
length() - Method in class io.github.jbellis.jvector.util.AtomicFixedBitSet
 
length() - Method in interface io.github.jbellis.jvector.util.Bits
Returns the number of bits in this set
length() - Method in class io.github.jbellis.jvector.util.Bits.MatchAllBits
 
length() - Method in class io.github.jbellis.jvector.util.Bits.MatchNoBits
 
length() - Method in class io.github.jbellis.jvector.util.FixedBitSet
 
length() - Method in class io.github.jbellis.jvector.util.GrowableBitSet
 
length() - Method in class io.github.jbellis.jvector.util.SparseFixedBitSet
 
length() - Method in class io.github.jbellis.jvector.util.SynchronizedGrowableBitSet
 
ListRandomAccessVectorValues - Class in io.github.jbellis.jvector.graph
A List-backed implementation of the RandomAccessVectorValues interface.
ListRandomAccessVectorValues(List<float[]>, int) - Constructor for class io.github.jbellis.jvector.graph.ListRandomAccessVectorValues
Construct a new instance of ListRandomAccessVectorValues.
liveNodes() - Method in class io.github.jbellis.jvector.disk.OnDiskGraphIndex.OnDiskView
 
liveNodes() - Method in interface io.github.jbellis.jvector.graph.GraphIndex.View
Return a Bits instance indicating which nodes are live.
load(RandomAccessReader) - Method in class io.github.jbellis.jvector.graph.GraphIndexBuilder
 
load(RandomAccessReader) - Static method in class io.github.jbellis.jvector.pq.BinaryQuantization
 
load(RandomAccessReader) - Static method in class io.github.jbellis.jvector.pq.ProductQuantization
 
load(RandomAccessReader, long) - Static method in class io.github.jbellis.jvector.pq.BQVectors
 
load(RandomAccessReader, long) - Static method in class io.github.jbellis.jvector.pq.PQVectors
 
load(GraphIndex<float[]>, int) - Static method in class io.github.jbellis.jvector.disk.GraphCache
 
LOG - Static variable in class io.github.jbellis.jvector.vector.VectorizationProvider
 

M

markDeleted(int) - Method in class io.github.jbellis.jvector.graph.OnHeapGraphIndex
Mark the given node deleted.
markNodeDeleted(int) - Method in class io.github.jbellis.jvector.graph.GraphIndexBuilder
 
MatchAllBits() - Constructor for class io.github.jbellis.jvector.util.Bits.MatchAllBits
 
MatchAllBits(int) - Constructor for class io.github.jbellis.jvector.util.Bits.MatchAllBits
 
MatchNoBits() - Constructor for class io.github.jbellis.jvector.util.Bits.MatchNoBits
 
MatchNoBits(int) - Constructor for class io.github.jbellis.jvector.util.Bits.MatchNoBits
 
MAX_ARRAY_LENGTH - Static variable in class io.github.jbellis.jvector.util.ArrayUtil
 
MAX_DEPTH - Static variable in class io.github.jbellis.jvector.util.RamUsageEstimator
Recurse only into immediate descendants.
MAX_HEAP - Enum constant in enum class io.github.jbellis.jvector.graph.NodeQueue.Order
 
MAX_PQ_TRAINING_SET_SIZE - Static variable in class io.github.jbellis.jvector.pq.ProductQuantization
 
maxDegree() - Method in class io.github.jbellis.jvector.disk.CachingGraphIndex
 
maxDegree() - Method in class io.github.jbellis.jvector.disk.OnDiskGraphIndex
 
maxDegree() - Method in interface io.github.jbellis.jvector.graph.GraphIndex
 
maxDegree() - Method in class io.github.jbellis.jvector.graph.OnHeapGraphIndex
 
memorySize() - Method in class io.github.jbellis.jvector.pq.ProductQuantization
 
MIN_HEAP - Enum constant in enum class io.github.jbellis.jvector.graph.NodeQueue.Order
 

N

neighbors - Variable in class io.github.jbellis.jvector.disk.GraphCache.CachedNode
 
nextInt() - Method in class io.github.jbellis.jvector.graph.NodesIterator.ArrayNodesIterator
 
nextSetBit(int) - Method in class io.github.jbellis.jvector.util.AtomicFixedBitSet
 
nextSetBit(int) - Method in class io.github.jbellis.jvector.util.BitSet
Returns the index of the first set bit starting at the index specified.
nextSetBit(int) - Method in class io.github.jbellis.jvector.util.FixedBitSet
 
nextSetBit(int) - Method in class io.github.jbellis.jvector.util.GrowableBitSet
 
nextSetBit(int) - Method in class io.github.jbellis.jvector.util.SparseFixedBitSet
 
nextSetBit(int) - Method in class io.github.jbellis.jvector.util.SynchronizedGrowableBitSet
 
NO_MORE_DOCS - Static variable in class io.github.jbellis.jvector.util.DocIdSetIterator
 
node - Variable in class io.github.jbellis.jvector.graph.SearchResult.NodeScore
 
node() - Method in class io.github.jbellis.jvector.graph.NodeArray
Direct access to the internal list of node ids; provided for efficient writing of the graph
NodeArray - Class in io.github.jbellis.jvector.graph
NodeArray encodes nodeids and their scores relative to some other element (a query vector, or another graph node) as a pair of growable arrays.
NodeArray(int) - Constructor for class io.github.jbellis.jvector.graph.NodeArray
 
NodeQueue - Class in io.github.jbellis.jvector.graph
NodeQueue uses a AbstractLongHeap to store lists of nodes in a graph, represented as a node id with an associated score packed together as a sortable long, which is sorted primarily by score.
NodeQueue(AbstractLongHeap, NodeQueue.Order) - Constructor for class io.github.jbellis.jvector.graph.NodeQueue
 
NodeQueue.Order - Enum Class in io.github.jbellis.jvector.graph
 
nodesCopy() - Method in class io.github.jbellis.jvector.graph.NodeQueue
Returns a copy of the internal nodes array.
nodesCopy(NodeSimilarity.ExactScoreFunction, float) - Method in class io.github.jbellis.jvector.graph.NodeQueue
 
NodeScore(int, float) - Constructor for class io.github.jbellis.jvector.graph.SearchResult.NodeScore
 
NodeSimilarity - Interface in io.github.jbellis.jvector.graph
Encapsulates comparing node distances.
NodeSimilarity.ApproximateScoreFunction - Interface in io.github.jbellis.jvector.graph
 
NodeSimilarity.ExactScoreFunction - Interface in io.github.jbellis.jvector.graph
 
NodeSimilarity.Reranker - Interface in io.github.jbellis.jvector.graph
 
NodeSimilarity.ScoreFunction - Interface in io.github.jbellis.jvector.graph
Provides an API for encapsulating similarity to another node or vector.
NodesIterator - Class in io.github.jbellis.jvector.graph
Iterator over graph nodes that includes the size –- the total number of nodes to be iterated over.
NodesIterator(int) - Constructor for class io.github.jbellis.jvector.graph.NodesIterator
Constructor for iterator based on the size
NodesIterator.ArrayNodesIterator - Class in io.github.jbellis.jvector.graph
 
NONE - Static variable in interface io.github.jbellis.jvector.util.Bits
 
NUM_BYTES_ARRAY_HEADER - Static variable in class io.github.jbellis.jvector.util.RamUsageEstimator
Number of bytes to represent an array header (no content, but with alignments).
NUM_BYTES_OBJECT_ALIGNMENT - Static variable in class io.github.jbellis.jvector.util.RamUsageEstimator
A constant specifying the object alignment boundary inside the JVM.
NUM_BYTES_OBJECT_HEADER - Static variable in class io.github.jbellis.jvector.util.RamUsageEstimator
Number of bytes to represent an object header (no fields, no alignments).
NUM_BYTES_OBJECT_REF - Static variable in class io.github.jbellis.jvector.util.RamUsageEstimator
Number of bytes this JVM uses to represent an object reference.
NumericUtils - Class in io.github.jbellis.jvector.util
Helper APIs to encode numeric values as sortable bytes and vice-versa.

O

OnDiskGraphIndex<T> - Class in io.github.jbellis.jvector.disk
 
OnDiskGraphIndex(ReaderSupplier, long) - Constructor for class io.github.jbellis.jvector.disk.OnDiskGraphIndex
 
OnDiskGraphIndex.OnDiskView - Class in io.github.jbellis.jvector.disk
 
OnDiskView(RandomAccessReader) - Constructor for class io.github.jbellis.jvector.disk.OnDiskGraphIndex.OnDiskView
 
ONE_GB - Static variable in class io.github.jbellis.jvector.util.RamUsageEstimator
One gigabyte bytes.
ONE_KB - Static variable in class io.github.jbellis.jvector.util.RamUsageEstimator
One kilobyte bytes.
ONE_MB - Static variable in class io.github.jbellis.jvector.util.RamUsageEstimator
One megabyte bytes.
OnHeapGraphIndex<T> - Class in io.github.jbellis.jvector.graph
An GraphIndex that offers concurrent access; for typical graphs you will get significant speedups in construction and searching as you add threads.
or(FixedBitSet) - Method in class io.github.jbellis.jvector.util.FixedBitSet
this = this OR other
OS_ARCH - Static variable in class io.github.jbellis.jvector.util.Constants
The value of System.getProperty("os.arch").
OS_NAME - Static variable in class io.github.jbellis.jvector.util.Constants
The value of System.getProperty("os.name").
oversize(int, int) - Static method in class io.github.jbellis.jvector.util.ArrayUtil
Returns an array size >= minTargetSize, generally over-allocating exponentially to achieve amortized linear-time cost as the array grows.

P

PanamaVectorizationProvider - Class in io.github.jbellis.jvector.vector
 
PanamaVectorizationProvider() - Constructor for class io.github.jbellis.jvector.vector.PanamaVectorizationProvider
 
parseInt(char[], int, int, int) - Static method in class io.github.jbellis.jvector.util.ArrayUtil
Parses the string argument as if it was an int value and returns the result.
PhysicalCoreExecutor - Class in io.github.jbellis.jvector.util
A fork join pool which is sized to match the number of physical cores on the machine (avoiding hyper-thread count) This is important for heavily vectorized sections of the code since it can easily saturate memory bandwidth.
pool() - Static method in class io.github.jbellis.jvector.util.PhysicalCoreExecutor
 
pop() - Method in class io.github.jbellis.jvector.graph.NodeQueue
Removes the top element and returns its node id.
pop() - Method in class io.github.jbellis.jvector.util.AbstractLongHeap
Removes and returns the least element of the PriorityQueue in log(size) time.
PQVectors - Class in io.github.jbellis.jvector.pq
 
PQVectors(ProductQuantization, byte[][]) - Constructor for class io.github.jbellis.jvector.pq.PQVectors
 
prettyPrint(GraphIndex<T>) - Static method in interface io.github.jbellis.jvector.graph.GraphIndex
 
prevSetBit(int) - Method in class io.github.jbellis.jvector.util.AtomicFixedBitSet
 
prevSetBit(int) - Method in class io.github.jbellis.jvector.util.BitSet
Returns the index of the last set bit before or on the index specified.
prevSetBit(int) - Method in class io.github.jbellis.jvector.util.FixedBitSet
 
prevSetBit(int) - Method in class io.github.jbellis.jvector.util.GrowableBitSet
 
prevSetBit(int) - Method in class io.github.jbellis.jvector.util.SparseFixedBitSet
 
prevSetBit(int) - Method in class io.github.jbellis.jvector.util.SynchronizedGrowableBitSet
 
primitiveSizes - Static variable in class io.github.jbellis.jvector.util.RamUsageEstimator
Sizes of primitive classes.
ProductQuantization - Class in io.github.jbellis.jvector.pq
Product Quantization for float vectors.
push(int, float) - Method in class io.github.jbellis.jvector.graph.NodeQueue
Adds a new graph node to the heap.
push(long) - Method in class io.github.jbellis.jvector.util.AbstractLongHeap
Adds a value to an LongHeap in log(size) time.
push(long) - Method in class io.github.jbellis.jvector.util.BoundedLongHeap
 
push(long) - Method in class io.github.jbellis.jvector.util.GrowableLongHeap
Adds a value to an LongHeap in log(size) time.
put(int, T) - Method in class io.github.jbellis.jvector.util.DenseIntMap
 

R

ramBytesUsed() - Method in class io.github.jbellis.jvector.disk.CachingGraphIndex
 
ramBytesUsed() - Method in class io.github.jbellis.jvector.disk.GraphCache
 
ramBytesUsed() - Method in class io.github.jbellis.jvector.disk.OnDiskGraphIndex
 
ramBytesUsed() - Method in class io.github.jbellis.jvector.graph.OnHeapGraphIndex
 
ramBytesUsed() - Method in class io.github.jbellis.jvector.pq.BQVectors
 
ramBytesUsed() - Method in class io.github.jbellis.jvector.pq.PQVectors
 
ramBytesUsed() - Method in interface io.github.jbellis.jvector.util.Accountable
 
ramBytesUsed() - Method in class io.github.jbellis.jvector.util.AtomicFixedBitSet
 
ramBytesUsed() - Method in class io.github.jbellis.jvector.util.FixedBitSet
 
ramBytesUsed() - Method in class io.github.jbellis.jvector.util.GrowableBitSet
 
ramBytesUsed() - Method in class io.github.jbellis.jvector.util.SparseFixedBitSet
 
ramBytesUsed() - Method in class io.github.jbellis.jvector.util.SynchronizedGrowableBitSet
 
ramBytesUsedOneNode() - Method in class io.github.jbellis.jvector.graph.OnHeapGraphIndex
 
RamUsageEstimator - Class in io.github.jbellis.jvector.util
Estimates the size (memory representation) of Java objects.
RandomAccessReader - Interface in io.github.jbellis.jvector.disk
This is a subset of DataInput, plus seek and readFully methods, which allows implementations to use more efficient options like FloatBuffer for bulk reads.
RandomAccessVectorValues<T> - Interface in io.github.jbellis.jvector.graph
Provides random access to vectors by dense ordinal.
read(int[], int, int) - Method in interface io.github.jbellis.jvector.disk.RandomAccessReader
 
read(int[], int, int) - Method in class io.github.jbellis.jvector.disk.SimpleMappedReader
 
ReaderSupplier - Interface in io.github.jbellis.jvector.disk
 
readFully(byte[]) - Method in interface io.github.jbellis.jvector.disk.RandomAccessReader
 
readFully(byte[]) - Method in class io.github.jbellis.jvector.disk.SimpleMappedReader
 
readFully(float[]) - Method in interface io.github.jbellis.jvector.disk.RandomAccessReader
 
readFully(float[]) - Method in class io.github.jbellis.jvector.disk.SimpleMappedReader
 
readFully(long[]) - Method in interface io.github.jbellis.jvector.disk.RandomAccessReader
 
readFully(long[]) - Method in class io.github.jbellis.jvector.disk.SimpleMappedReader
 
readInt() - Method in interface io.github.jbellis.jvector.disk.RandomAccessReader
 
readInt() - Method in class io.github.jbellis.jvector.disk.SimpleMappedReader
 
refine(RandomAccessVectorValues<float[]>) - Method in class io.github.jbellis.jvector.pq.ProductQuantization
Create a new PQ by fine-tuning this one with the data in `ravv`
refine(RandomAccessVectorValues<float[]>, int, ForkJoinPool, ForkJoinPool) - Method in class io.github.jbellis.jvector.pq.ProductQuantization
Create a new PQ by fine-tuning this one with the data in `ravv`
remove(int) - Method in class io.github.jbellis.jvector.util.DenseIntMap
 
removeDeletedNeighbors(Bits) - Method in class io.github.jbellis.jvector.graph.ConcurrentNeighborSet
 
removeIndex(int) - Method in class io.github.jbellis.jvector.graph.NodeArray
 
removeLast() - Method in class io.github.jbellis.jvector.graph.NodeArray
 
resume(int) - Method in class io.github.jbellis.jvector.graph.GraphSearcher
Experimental!
resume(int, float, float) - Method in class io.github.jbellis.jvector.graph.GraphSearcher
Experimental!
retain(Bits) - Method in class io.github.jbellis.jvector.graph.NodeArray
Retains only the elements in the current NodeArray whose corresponding index is set in the given BitSet.

S

save(DataOutput) - Method in class io.github.jbellis.jvector.graph.OnHeapGraphIndex
 
scale(float[], float) - Static method in class io.github.jbellis.jvector.vector.VectorUtil
 
scale(float[], float) - Method in interface io.github.jbellis.jvector.vector.VectorUtilSupport
Divide vector by divisor, in place (vector will be modified)
scanIsEmpty() - Method in class io.github.jbellis.jvector.util.FixedBitSet
Scans the backing store to check if all bits are clear.
score - Variable in class io.github.jbellis.jvector.graph.SearchResult.NodeScore
 
score() - Method in class io.github.jbellis.jvector.graph.NodeArray
 
score(int, int) - Method in interface io.github.jbellis.jvector.graph.NodeSimilarity
for one-off comparisons between nodes
scoreBetween(T, T) - Method in class io.github.jbellis.jvector.graph.GraphIndexBuilder
 
scoreProvider(int) - Method in interface io.github.jbellis.jvector.graph.NodeSimilarity
For when we're going to compare node1 with multiple other nodes.
search(NodeSimilarity.ScoreFunction, NodeSimilarity.Reranker, int, float, float, Bits) - Method in class io.github.jbellis.jvector.graph.GraphSearcher
 
search(NodeSimilarity.ScoreFunction, NodeSimilarity.Reranker, int, float, Bits) - Method in class io.github.jbellis.jvector.graph.GraphSearcher
 
search(NodeSimilarity.ScoreFunction, NodeSimilarity.Reranker, int, Bits) - Method in class io.github.jbellis.jvector.graph.GraphSearcher
 
search(T, int, RandomAccessVectorValues<T>, VectorEncoding, VectorSimilarityFunction, GraphIndex<T>, Bits) - Static method in class io.github.jbellis.jvector.graph.GraphSearcher
Convenience function for simple one-off searches.
SearchResult - Class in io.github.jbellis.jvector.graph
Container class for results of an ANN search, along with associated metrics about the behavior of the search.
SearchResult(SearchResult.NodeScore[], BitSet, int) - Constructor for class io.github.jbellis.jvector.graph.SearchResult
 
SearchResult.NodeScore - Class in io.github.jbellis.jvector.graph
 
seek(long) - Method in interface io.github.jbellis.jvector.disk.RandomAccessReader
 
seek(long) - Method in class io.github.jbellis.jvector.disk.SimpleMappedReader
 
set(int) - Method in class io.github.jbellis.jvector.util.AtomicFixedBitSet
 
set(int) - Method in class io.github.jbellis.jvector.util.BitSet
Set the bit at i.
set(int) - Method in class io.github.jbellis.jvector.util.FixedBitSet
 
set(int) - Method in class io.github.jbellis.jvector.util.GrowableBitSet
 
set(int) - Method in class io.github.jbellis.jvector.util.SparseFixedBitSet
Set the bit at index i.
set(int) - Method in class io.github.jbellis.jvector.util.SynchronizedGrowableBitSet
 
set(int, int) - Method in class io.github.jbellis.jvector.util.FixedBitSet
Sets a range of bits
shallowSizeOf(Object) - Static method in class io.github.jbellis.jvector.util.RamUsageEstimator
Estimates a "shallow" memory usage of the given object.
shallowSizeOf(Object[]) - Static method in class io.github.jbellis.jvector.util.RamUsageEstimator
Returns the shallow size in bytes of the Object[] object.
shallowSizeOfInstance(Class<?>) - Static method in class io.github.jbellis.jvector.util.RamUsageEstimator
Returns the shallow instance size in bytes an instance of the given class would occupy.
similarityTo(int) - Method in interface io.github.jbellis.jvector.graph.NodeSimilarity.ApproximateScoreFunction
 
similarityTo(int) - Method in interface io.github.jbellis.jvector.graph.NodeSimilarity.ExactScoreFunction
 
similarityTo(int) - Method in interface io.github.jbellis.jvector.graph.NodeSimilarity.Reranker
 
similarityTo(int) - Method in interface io.github.jbellis.jvector.graph.NodeSimilarity.ScoreFunction
 
SimpleMappedReader - Class in io.github.jbellis.jvector.disk
Simple sample implementation of RandomAccessReader.
SimpleMappedReader(String) - Constructor for class io.github.jbellis.jvector.disk.SimpleMappedReader
 
SimpleMappedReader(Path) - Constructor for class io.github.jbellis.jvector.disk.SimpleMappedReader
 
SimpleMappedReaderSupplier - Class in io.github.jbellis.jvector.disk
 
SimpleMappedReaderSupplier(Path) - Constructor for class io.github.jbellis.jvector.disk.SimpleMappedReaderSupplier
 
size - Variable in class io.github.jbellis.jvector.graph.NodeArray
 
size - Variable in class io.github.jbellis.jvector.graph.NodesIterator
 
size - Variable in class io.github.jbellis.jvector.util.AbstractLongHeap
 
size - Variable in class io.github.jbellis.jvector.util.GrowableLongHeap
 
size() - Method in class io.github.jbellis.jvector.disk.CachingGraphIndex
 
size() - Method in class io.github.jbellis.jvector.disk.OnDiskGraphIndex.OnDiskView
 
size() - Method in class io.github.jbellis.jvector.disk.OnDiskGraphIndex
 
size() - Method in class io.github.jbellis.jvector.graph.ConcurrentNeighborSet
 
size() - Method in interface io.github.jbellis.jvector.graph.GraphIndex
Returns the number of nodes in the graph
size() - Method in interface io.github.jbellis.jvector.graph.GraphIndex.View
 
size() - Method in class io.github.jbellis.jvector.graph.ListRandomAccessVectorValues
 
size() - Method in class io.github.jbellis.jvector.graph.NodeArray
 
size() - Method in class io.github.jbellis.jvector.graph.NodeQueue
 
size() - Method in class io.github.jbellis.jvector.graph.NodesIterator
The number of elements in this iterator *
size() - Method in class io.github.jbellis.jvector.graph.OnHeapGraphIndex
 
size() - Method in interface io.github.jbellis.jvector.graph.RandomAccessVectorValues
Return the number of vector values.
size() - Method in class io.github.jbellis.jvector.util.AbstractLongHeap
Returns the number of elements currently stored in the PriorityQueue.
size() - Method in class io.github.jbellis.jvector.util.DenseIntMap
 
sizeOf(boolean[]) - Static method in class io.github.jbellis.jvector.util.RamUsageEstimator
Returns the size in bytes of the boolean[] object.
sizeOf(byte[]) - Static method in class io.github.jbellis.jvector.util.RamUsageEstimator
Returns the size in bytes of the byte[] object.
sizeOf(char[]) - Static method in class io.github.jbellis.jvector.util.RamUsageEstimator
Returns the size in bytes of the char[] object.
sizeOf(double[]) - Static method in class io.github.jbellis.jvector.util.RamUsageEstimator
Returns the size in bytes of the double[] object.
sizeOf(float[]) - Static method in class io.github.jbellis.jvector.util.RamUsageEstimator
Returns the size in bytes of the float[] object.
sizeOf(int[]) - Static method in class io.github.jbellis.jvector.util.RamUsageEstimator
Returns the size in bytes of the int[] object.
sizeOf(long[]) - Static method in class io.github.jbellis.jvector.util.RamUsageEstimator
Returns the size in bytes of the long[] object.
sizeOf(short[]) - Static method in class io.github.jbellis.jvector.util.RamUsageEstimator
Returns the size in bytes of the short[] object.
sizeOf(Integer) - Static method in class io.github.jbellis.jvector.util.RamUsageEstimator
Return the shallow size of the provided Integer object.
sizeOf(Long) - Static method in class io.github.jbellis.jvector.util.RamUsageEstimator
Return the shallow size of the provided Long object.
sizeOf(String) - Static method in class io.github.jbellis.jvector.util.RamUsageEstimator
Returns the size in bytes of the String object.
sizeOf(String[]) - Static method in class io.github.jbellis.jvector.util.RamUsageEstimator
Returns the size in bytes of the String[] object.
sortableFloatBits(int) - Static method in class io.github.jbellis.jvector.util.NumericUtils
Converts IEEE 754 representation of a float to sortable order (or back to the original)
sortableIntToFloat(int) - Static method in class io.github.jbellis.jvector.util.NumericUtils
Converts a sortable int back to a float.
SparseFixedBitSet - Class in io.github.jbellis.jvector.util
A bit set that only stores longs that have at least one bit which is set.
SparseFixedBitSet(int) - Constructor for class io.github.jbellis.jvector.util.SparseFixedBitSet
Create a SparseFixedBitSet that can contain bits between 0 included and length excluded.
squareDistance(byte[], byte[]) - Static method in class io.github.jbellis.jvector.vector.VectorUtil
Returns the sum of squared differences of the two vectors.
squareDistance(byte[], byte[]) - Method in interface io.github.jbellis.jvector.vector.VectorUtilSupport
Returns the sum of squared differences of the two byte vectors.
squareDistance(float[], float[]) - Static method in class io.github.jbellis.jvector.vector.VectorUtil
Returns the sum of squared differences of the two vectors.
squareDistance(float[], float[]) - Method in interface io.github.jbellis.jvector.vector.VectorUtilSupport
Returns the sum of squared differences of the two vectors.
squareDistance(float[], int, float[], int, int) - Static method in class io.github.jbellis.jvector.vector.VectorUtil
Returns the sum of squared differences of the two vectors, or subvectors, of the given length.
squareDistance(float[], int, float[], int, int) - Method in interface io.github.jbellis.jvector.vector.VectorUtilSupport
Calculates the sum of squared differences of float arrays of differing sizes, or a subset of the data
sub(float[], float[]) - Static method in class io.github.jbellis.jvector.vector.VectorUtil
 
sub(float[], float[]) - Method in interface io.github.jbellis.jvector.vector.VectorUtilSupport
 
subInPlace(float[], float[]) - Static method in class io.github.jbellis.jvector.vector.VectorUtil
 
subInPlace(float[], float[]) - Method in interface io.github.jbellis.jvector.vector.VectorUtilSupport
Subtracts v2 from v1, in place (v1 will be modified)
submit(Supplier<T>) - Method in class io.github.jbellis.jvector.util.PhysicalCoreExecutor
 
sum(float[]) - Static method in class io.github.jbellis.jvector.vector.VectorUtil
 
sum(float[]) - Method in interface io.github.jbellis.jvector.vector.VectorUtilSupport
return the sum of the components of the vector
sum(List<float[]>) - Static method in class io.github.jbellis.jvector.vector.VectorUtil
 
sum(List<float[]>) - Method in interface io.github.jbellis.jvector.vector.VectorUtilSupport
returns the sum of the given vectors.
SynchronizedGrowableBitSet - Class in io.github.jbellis.jvector.util
A thread-safe BitSet implementation that grows as needed to accommodate set(index) calls.
SynchronizedGrowableBitSet(int) - Constructor for class io.github.jbellis.jvector.util.SynchronizedGrowableBitSet
 
SynchronizedGrowableBitSet(BitSet) - Constructor for class io.github.jbellis.jvector.util.SynchronizedGrowableBitSet
 

T

ThreadInterruptedException - Exception Class in io.github.jbellis.jvector.exceptions
 
ThreadInterruptedException(InterruptedException) - Constructor for exception class io.github.jbellis.jvector.exceptions.ThreadInterruptedException
 
threadLocalSupplier() - Method in interface io.github.jbellis.jvector.graph.RandomAccessVectorValues
Returns a supplier of thread-local copies of the RAVV.
top() - Method in class io.github.jbellis.jvector.util.AbstractLongHeap
Returns the least element of the LongHeap in constant time.
topNode() - Method in class io.github.jbellis.jvector.graph.NodeQueue
Returns the top element's node id.
topScore() - Method in class io.github.jbellis.jvector.graph.NodeQueue
Returns the top element's node score.
toString() - Method in class io.github.jbellis.jvector.graph.NodeArray
 
toString() - Method in class io.github.jbellis.jvector.graph.NodeQueue
 
toString() - Method in class io.github.jbellis.jvector.graph.OnHeapGraphIndex
 
toString() - Method in class io.github.jbellis.jvector.pq.BinaryQuantization
 
toString() - Method in class io.github.jbellis.jvector.pq.ProductQuantization
 
toString() - Method in class io.github.jbellis.jvector.util.SparseFixedBitSet
 

U

unionCount(FixedBitSet, FixedBitSet) - Static method in class io.github.jbellis.jvector.util.FixedBitSet
Returns the popcount or cardinality of the union of the two sets.
UNKNOWN_DEFAULT_RAM_BYTES_USED - Static variable in class io.github.jbellis.jvector.util.RamUsageEstimator
Approximate memory usage that we assign to all unknown objects - this maps roughly to a few primitive fields and a couple short String-s.
upHeap(int) - Method in class io.github.jbellis.jvector.util.AbstractLongHeap
 

V

valueOf(String) - Static method in enum class io.github.jbellis.jvector.graph.NodeQueue.Order
Returns the enum constant of this class with the specified name.
valueOf(String) - Static method in enum class io.github.jbellis.jvector.vector.VectorEncoding
Returns the enum constant of this class with the specified name.
valueOf(String) - Static method in enum class io.github.jbellis.jvector.vector.VectorSimilarityFunction
Returns the enum constant of this class with the specified name.
values() - Static method in enum class io.github.jbellis.jvector.graph.NodeQueue.Order
Returns an array containing the constants of this enum class, in the order they are declared.
values() - Static method in enum class io.github.jbellis.jvector.vector.VectorEncoding
Returns an array containing the constants of this enum class, in the order they are declared.
values() - Static method in enum class io.github.jbellis.jvector.vector.VectorSimilarityFunction
Returns an array containing the constants of this enum class, in the order they are declared.
vector - Variable in class io.github.jbellis.jvector.disk.GraphCache.CachedNode
 
VectorCompressor<T> - Interface in io.github.jbellis.jvector.pq
Interface for vector compression.
VectorEncoding - Enum Class in io.github.jbellis.jvector.vector
The numeric datatype of the vector values.
VectorizationProvider - Class in io.github.jbellis.jvector.vector
A provider of vectorization implementations.
VectorizationProvider() - Constructor for class io.github.jbellis.jvector.vector.VectorizationProvider
 
VectorSimilarityFunction - Enum Class in io.github.jbellis.jvector.vector
Vector similarity function; used in search to return top K most similar vectors to a target vector.
VectorUtil - Class in io.github.jbellis.jvector.vector
Utilities for computations with numeric arrays
VectorUtilSupport - Interface in io.github.jbellis.jvector.vector
Interface for implementations of VectorUtil support.
vectorValue(int) - Method in class io.github.jbellis.jvector.graph.ListRandomAccessVectorValues
 
vectorValue(int) - Method in interface io.github.jbellis.jvector.graph.RandomAccessVectorValues
Return the vector value indexed at the given ordinal.
VH_BE_DOUBLE - Static variable in class io.github.jbellis.jvector.util.BitUtil
Deprecated.
Better use little endian unless it is needed for backwards compatibility.
VH_BE_FLOAT - Static variable in class io.github.jbellis.jvector.util.BitUtil
Deprecated.
Better use little endian unless it is needed for backwards compatibility.
VH_BE_INT - Static variable in class io.github.jbellis.jvector.util.BitUtil
Deprecated.
Better use little endian unless it is needed for backwards compatibility.
VH_BE_LONG - Static variable in class io.github.jbellis.jvector.util.BitUtil
Deprecated.
Better use little endian unless it is needed for backwards compatibility.
VH_BE_SHORT - Static variable in class io.github.jbellis.jvector.util.BitUtil
Deprecated.
Better use little endian unless it is needed for backwards compatibility.
VisibleForTesting - Annotation Interface in io.github.jbellis.jvector.annotations
Methods or classes marked VisibleForTesting are intended for internal use only and may change without warning, regardless of their visibility.

W

withConcurrentUpdates() - Method in class io.github.jbellis.jvector.graph.GraphSearcher.Builder
 
withInitial(Supplier<U>) - Static method in class io.github.jbellis.jvector.util.ExplicitThreadLocal
 
write(GraphIndex<T>, RandomAccessVectorValues<T>, DataOutput) - Static method in class io.github.jbellis.jvector.disk.OnDiskGraphIndex
 
write(GraphIndex<T>, RandomAccessVectorValues<T>, Map<Integer, Integer>, DataOutput) - Static method in class io.github.jbellis.jvector.disk.OnDiskGraphIndex
 
write(DataOutput) - Method in class io.github.jbellis.jvector.pq.BinaryQuantization
 
write(DataOutput) - Method in class io.github.jbellis.jvector.pq.BQVectors
 
write(DataOutput) - Method in interface io.github.jbellis.jvector.pq.CompressedVectors
write the compressed vectors to the given DataOutput
write(DataOutput) - Method in class io.github.jbellis.jvector.pq.PQVectors
 
write(DataOutput) - Method in class io.github.jbellis.jvector.pq.ProductQuantization
 
write(DataOutput) - Method in interface io.github.jbellis.jvector.pq.VectorCompressor
 
writeFloats(DataOutput, float[]) - Static method in class io.github.jbellis.jvector.disk.Io
 

X

xor(FixedBitSet) - Method in class io.github.jbellis.jvector.util.FixedBitSet
this = this XOR other
A B C D E F G H I J K L M N O P R S T U V W X 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form