Package org.apache.lucene.util.hnsw
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 TypeMethodDescriptionvoid
addGraphNode
(int node) Inserts a doc with vector value to the graphbuild
(int maxOrd) Adds all nodes to the graph up to the providedmaxOrd
.Once this method is called no further updates to the graph are accepted (addGraphNode will throw IllegalStateException).getGraph()
void
setInfoStream
(InfoStream infoStream) Set info-stream to output debugging information
-
Method Details
-
build
Adds all nodes to the graph up to the providedmaxOrd
.- Parameters:
maxOrd
- The maximum ordinal (excluded) of the nodes to be added.- Throws:
IOException
-
addGraphNode
Inserts a doc with vector value to the graph- Throws:
IOException
-
setInfoStream
Set info-stream to output debugging information -
getGraph
OnHeapHnswGraph getGraph() -
getCompletedGraph
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
-