Package org.apache.lucene.util.hnsw
Class HnswConcurrentMergeBuilder
- java.lang.Object
-
- org.apache.lucene.util.hnsw.HnswConcurrentMergeBuilder
-
- All Implemented Interfaces:
HnswBuilder
public class HnswConcurrentMergeBuilder extends Object implements HnswBuilder
A graph builder that manages multiple workers, it only supports adding the whole graph all at once. It will spawn a thread for each worker and the workers will pick the work in batches.
-
-
Constructor Summary
Constructors Constructor Description HnswConcurrentMergeBuilder(TaskExecutor taskExecutor, int numWorker, RandomVectorScorerSupplier scorerSupplier, int M, int beamWidth, OnHeapHnswGraph hnsw, BitSet initializedNodes)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addGraphNode(int node)
Inserts a doc with vector value to the graphOnHeapHnswGraph
build(int maxOrd)
Adds all nodes to the graph up to the providedmaxOrd
.OnHeapHnswGraph
getGraph()
void
setInfoStream(InfoStream infoStream)
Set info-stream to output debugging information
-
-
-
Constructor Detail
-
HnswConcurrentMergeBuilder
public HnswConcurrentMergeBuilder(TaskExecutor taskExecutor, int numWorker, RandomVectorScorerSupplier scorerSupplier, int M, int beamWidth, OnHeapHnswGraph hnsw, BitSet initializedNodes) throws IOException
- Throws:
IOException
-
-
Method Detail
-
build
public OnHeapHnswGraph build(int maxOrd) throws IOException
Description copied from interface:HnswBuilder
Adds all nodes to the graph up to the providedmaxOrd
.- Specified by:
build
in interfaceHnswBuilder
- Parameters:
maxOrd
- The maximum ordinal (excluded) of the nodes to be added.- Throws:
IOException
-
addGraphNode
public void addGraphNode(int node) throws IOException
Description copied from interface:HnswBuilder
Inserts a doc with vector value to the graph- Specified by:
addGraphNode
in interfaceHnswBuilder
- Throws:
IOException
-
setInfoStream
public void setInfoStream(InfoStream infoStream)
Description copied from interface:HnswBuilder
Set info-stream to output debugging information- Specified by:
setInfoStream
in interfaceHnswBuilder
-
getGraph
public OnHeapHnswGraph getGraph()
- Specified by:
getGraph
in interfaceHnswBuilder
-
-