All Classes and Interfaces

Class
Description
Abstract base implementations for all Node.ChangeSets.
Common implementation skeleton for every RealVector subtype in this package.
Vector operator that applies/unapplies a linear operator and an addition to a vector.
A record-like class wrapping a RealVector and a count.
An AsyncPeekCallbackIterator is an extension of the AsyncPeekIterator interface that can be given a callback to call after each time it advances.
A AsyncPeekIterator is an extension of the AsyncIterator interface that adds peek semantics, i.e., viewing the next element of the iterator without advancing it forward.
Per-component vector arithmetic primitives on double[] arrays.
An implementation of a FoundationDB-backed map that bunches close keys together to minimize the overhead of storing keys with a common prefix.
Exception class that can be thrown by a BunchedMap.
An iterator implementation that will iterate over the keys of a BunchedMap.
An iterator that will return BunchedMapScanEntry objects while scanning over multiple BunchedMaps.
Struct containing the results of scanning one or more BunchedMaps using the scanMulti() function.
Exception that can be thrown from a BunchedSerializer while serializing or deserializing an element.
A class to serialize and deserialize entries of a BunchedMap.
A BunchedSerializer that uses Tuples as both the expected key and value type.
Helper methods in the spirit of ByteArrayUtil.
Exception thrown when the CallbackUtils.invokeAll(List) method catches an exception.
A utility to invoke a collection of callbacks with an effort to ensure all are called when facing errors.
 
A coarse classification of how many nodes live on a layer of the graph.
A child slot that is used by IntermediateNodes.
Utility methods to help interact with AutoCloseable classes.
Exception thrown when the CloseableUtils.closeAll(java.lang.AutoCloseable...) method catches an exception.
 
Configuration for the Guardiann vector structure.
Configuration settings for an HNSW.
Builder for Config.
Builder for Config.
Count tuple-encoded keys into TupleKeyCountTree.
Parse client latency events from system keyspace.
A callback with the current transaction.
 
Computes a distance between two vectors.
A fixed-capacity collector that retains the top k distinct elements offered, as ordered by a Comparator (the k that compare greatest).
Immutable vector storing 64-bit double-precision components.
Wire/storage representation of a RaBitQ-quantized vector.
Parse client latency events from system keyspace.
Asynchronous callback.
Information about a commit, successful or not, in an event.
Base class for parsed events.
A commit latency event.
A failing commit event.
Event callback.
 
A single key get latency event.
A failing single key get event.
A range get latency event.
A failing range get event.
A GRV latency event.
A single mutation in a FDBClientLogEvents.CommitRequest.
 
 
FDB error codes (from https://apple.github.io/foundationdb/api-error-codes.html) and handy methods to interpret them.
FhtKac-like random orthogonal rotator which implements LinearOperator.
Immutable vector storing 32-bit single-precision (float) components.
A transactional approximate nearest neighbor (ANN) vector structure built on top of FoundationDB.
The Half class implements half precision (FP16) float-point number according to IEEE 754 standard.
This class contains additional constants documenting limits of Half.
The class HalfMath contains methods for performing basic numeric operations on or using Half objects.
Immutable vector storing 16-bit Half-precision components.
An implementation of the Hierarchical Navigable Small World (HNSW) algorithm for efficient approximate nearest neighbor (ANN) search.
An implementation of the insert operations of the Hierarchical Navigable Small World (HNSW) algorithm for efficient approximate nearest neighbor (ANN) search.
An item slot that is used by LeafNodes.
A restartable Lloyd-style k-means++ implementation intended for LOCAL cluster restructuring (SPFresh-style).
Outcome of a fit call: the chosen centroids, the per-vector cluster assignment, the per-cluster sizes, the per-vector objective contributions, and the total objective.
Soft size-balancing penalty hook.
A typed "focus" on a part A sitting inside a whole C — the object-oriented shape of the well-known functional lens.
 
Wires up and holds the shared collaborators of a Guardiann structure: its StorageAdapter, the Executor, and the lazily-created Primitives, Search, Insert and Delete operation objects.
A basic wrapper around the fundamental access information we need to interact with an HNSW.
Exception type with support for adding keys and values to its log info.
Associates loggable information with an object as a map.
Provides a default implementation of LoggableKeysAndValues.
Common LoggableException keys logged by the FoundationDB extensions library.
 
Represents various distance calculation strategies (metrics) for vectors.
More helpers in the spirit of AsyncUtil.
A Boolean function that is always true.
Exception that will be thrown when the supplier in MoreAsyncUtil.getWithDeadline(long, Supplier, ScheduledExecutorService) fails to complete within the specified deadline time.
A holder for a (mutable) value.
Mutable double-precision vector.
Represents a node within an HNSW (Hierarchical Navigable Small World) structure.
Interface to capture the common aspects of nodes being either LeafNodes or IntermediateNodes.
A change set for slots.
Some helper methods for Nodes.
Represents the different kinds of nodes, each associated with a unique byte value for serialization and deserialization.
Enum to capture the kind of node.
Represents a reference to a node, uniquely identified by its primary key.
Represents a reference to a node that includes its vector and its distance from a query vector.
Represents a reference to a node that includes an associated vector.
Abstract base class for all node slots.
Interface for call backs whenever we read data from the database.
Interface for call backs whenever we write data to the database.
Callbacks invoked whenever the structure reads from the database.
Interface for call backs whenever we read node data from the database.
Function interface for a call back whenever we read the slots for a node.
Interface for callbacks whenever we write data to the database.
Interface for call backs whenever we write data to the database.
Function interface for a call back whenever we read the slots for a node.
Evaluates whether a candidate partitioning should replace a current partitioning.
The outcome of evaluating a candidate partitioning against the current layout.
Tuning parameters that control when a candidate repartitioning is accepted or rejected, and how the composite quality score is computed.
Quality statistics computed for a partitioning (current or candidate).
An implementation of primitives for the Hierarchical Navigable Small World (HNSW) algorithm for efficient approximate nearest neighbor (ANN) search.
Provides a static method to compute the QR decomposition of a matrix.
 
Defines the contract for a quantizer, a component responsible for encoding data vectors into a different, ideally a more compact, representation.
 
 
Implements the RaBit quantization scheme, a technique for compressing high-dimensional vectors into a compact integer-based representation.
 
 
 
RangeSet supports efficient adding of ranges of keys into the database to support marking work done elsewhere as completed as well as checking if specific keys are already completed.
RankedSet supports the efficient retrieval of elements by their rank as defined by lexicographic order.
Configuration settings for a RankedSet.
Builder for RankedSet.Config.
 
Function to compute the hash used to determine which levels a key value splits on.
 
 
Real-valued mathematical vector — the common API every dense vector representation in this package implements.
Package-private vector primitives that can be shared by all vector implementations (including those not extending from AbstractRealVector).
Record class that wraps the results of a kNN-search.
 
An implementation of an R-tree.
Configuration settings for a RTree.
Builder for RTree.Config.
Iterator for iterating the items contained in the leaf nodes produced by an underlying RTree.LeafIterator.
Class to capture an N-dimensional point.
Class to capture an N-dimensional rectangle/cube/hypercube.
Different kinds of storage layouts.
Utility class to compute the Hilbert value from n-dimensional points.
An implementation of the search operations of the hierarchical Navigable Small World (HNSW) algorithm for efficient approximate nearest neighbor (ANN) search.
The performance/recall tuning knobs for a single Guardiann search.
Builder for SearchConfig.
SIMD implementation of Backend using the jdk.incubator.vector API (DoubleVector with DoubleVector.SPECIES_PREFERRED).
Static helpers for the storage layer shared by the vector index implementations: (de)serializing vectors to and from their Tuple and byte representations, and appending to, consuming, aggregating, and clearing the set of sampled vectors held in a subspace.
A special operator that is used to rotate, translate, and potentially normalize vectors.
Abstract iterator implementation to read the IVecs/FVecs data format that is used by publicly available embedding datasets.
Iterator to read floating point vectors from a FileChannel providing an iterator of DoubleRealVectors.
Iterator to read vectors from a FileChannel into a list of integers.
Utility methods for operating with Strings.
An interface to split a raw FoundationDB key into a subspace and (possibly) a "tag".
A SynchronizedSession is a concept introduced to avoid multiple attempts at performing the same operation (with each attempt opening multiple transactions running concurrently and/or consecutively) from running concurrently and contending for resources.
This exception means that the synchronized session is not valid anymore, probably because another synchronized session on the same lock is running.
Keys living in the FDB system and special keyspace.
The kinds of deferred task Guardiann enqueues.
An executor that can perform pre- and post- work in the context of the thread executing a task.
Wraps an AsyncIterable so the wall-clock time spent awaiting its elements is measured and reported once the scan finishes.
A fixed-capacity collector that retains the top k elements offered, as ordered by a Comparator (the k that compare greatest).
This class aims to reduce potential logic problems with respect to coordinate transformations by soliciting help from Java's type system.
Lens to access the underlying vector of a transformed vector in logic that can be called for containers of both vectors and transformed vectors.
Helper methods for working with Tuples.
A tree of occurrence counts tuple-encoded keys.
Helper methods for encoding Tuples in ways that implement SQL-like ordering.
Direction of ordering.
The minimal vector-encoding configuration shared by the HNSW and Guardiann configs: the metric, the number of dimensions, and the RaBitQ encoding parameters needed to (de)serialize stored vectors.
Interface that represents the root of all linear and affine operators including matrices.
 
Map from wall-clock time to transaction time.