Interface HnswBuilder

All Known Implementing Classes:
HnswConcurrentMergeBuilder, HnswGraphBuilder, InitializedHnswGraphBuilder, MergingHnswGraphBuilder

public interface HnswBuilder
Interface for builder building the OnHeapHnswGraph
WARNING: This API is experimental and might change in incompatible ways in the next release.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    addGraphNode(int node)
    Inserts a doc with a vector value to the graph
    void
    addGraphNode(int node, IntHashSet eps)
    Inserts a doc with a vector value to the graph, searching on level 0 with provided entry points
    build(int maxOrd)
    Adds all nodes to the graph up to the provided maxOrd.
    Once this method is called, no further updates to the graph are accepted (addGraphNode will throw IllegalStateException).
     
    void
    Set info-stream to output debugging information
  • Method Details

    • build

      OnHeapHnswGraph build(int maxOrd) throws IOException
      Adds all nodes to the graph up to the provided maxOrd.
      Parameters:
      maxOrd - The maximum ordinal (excluded) of the nodes to be added.
      Throws:
      IOException
    • addGraphNode

      void addGraphNode(int node) throws IOException
      Inserts a doc with a vector value to the graph
      Throws:
      IOException
    • addGraphNode

      void addGraphNode(int node, IntHashSet eps) throws IOException
      Inserts a doc with a vector value to the graph, searching on level 0 with provided entry points
      Throws:
      IOException
    • setInfoStream

      void setInfoStream(InfoStream infoStream)
      Set info-stream to output debugging information
    • getGraph

      OnHeapHnswGraph getGraph()
    • getCompletedGraph

      OnHeapHnswGraph getCompletedGraph() throws IOException
      Once this method is called, no further updates to the graph are accepted (addGraphNode will throw IllegalStateException). Final modifications to the graph (eg patching up disconnected components, re-ordering node ids for better delta compression) may be triggered, so callers should expect this call to take some time.
      Throws:
      IOException