Class InitializedHnswGraphBuilder

  • All Implemented Interfaces:

    public final class InitializedHnswGraphBuilder
    extends HnswGraphBuilder
    This creates a graph builder that is initialized with the provided HnswGraph. This is useful for merging HnswGraphs from multiple segments.
    WARNING: This API is experimental and might change in incompatible ways in the next release.
    • Method Detail

      • fromGraph

        public static InitializedHnswGraphBuilder fromGraph​(RandomVectorScorerSupplier scorerSupplier,
                                                            int M,
                                                            int beamWidth,
                                                            long seed,
                                                            HnswGraph initializerGraph,
                                                            int[] newOrdMap,
                                                            BitSet initializedNodes,
                                                            int totalNumberOfVectors)
                                                     throws IOException
        Create a new HnswGraphBuilder that is initialized with the provided HnswGraph.
        scorerSupplier - the scorer to use for vectors
        M - the number of connections to keep per node
        beamWidth - the number of nodes to explore in the search
        seed - the seed for the random number generator
        initializerGraph - the graph to initialize the new graph builder
        newOrdMap - a mapping from the old node ordinal to the new node ordinal
        initializedNodes - a bitset of nodes that are already initialized in the initializerGraph
        totalNumberOfVectors - the total number of vectors in the new graph, this should include all vectors expected to be added to the graph in the future
        a new HnswGraphBuilder that is initialized with the provided HnswGraph
        IOException - when reading the graph fails