pub struct DiskAnnBuilder { /* private fields */ }Expand description
Index builder for DiskANN
Implementations§
Source§impl DiskAnnBuilder
impl DiskAnnBuilder
Sourcepub fn new(config: DiskAnnConfig) -> DiskAnnResult<Self>
pub fn new(config: DiskAnnConfig) -> DiskAnnResult<Self>
Create a new index builder with given configuration
Sourcepub fn with_storage(self, storage: Box<dyn StorageBackend>) -> Self
pub fn with_storage(self, storage: Box<dyn StorageBackend>) -> Self
Add storage backend
Sourcepub fn config(&self) -> &DiskAnnConfig
pub fn config(&self) -> &DiskAnnConfig
Get configuration
Sourcepub fn graph(&self) -> &VamanaGraph
pub fn graph(&self) -> &VamanaGraph
Get current graph
Sourcepub fn stats(&self) -> &DiskAnnBuildStats
pub fn stats(&self) -> &DiskAnnBuildStats
Get build statistics
Sourcepub fn add_vector(
&mut self,
vector_id: VectorId,
vector: Vec<f32>,
) -> DiskAnnResult<NodeId>
pub fn add_vector( &mut self, vector_id: VectorId, vector: Vec<f32>, ) -> DiskAnnResult<NodeId>
Add a single vector to the index
Sourcepub fn add_vectors_batch(
&mut self,
vectors: Vec<(VectorId, Vec<f32>)>,
) -> DiskAnnResult<Vec<NodeId>>
pub fn add_vectors_batch( &mut self, vectors: Vec<(VectorId, Vec<f32>)>, ) -> DiskAnnResult<Vec<NodeId>>
Add multiple vectors in batch
Sourcepub fn select_entry_points(
&mut self,
num_entry_points: usize,
) -> DiskAnnResult<()>
pub fn select_entry_points( &mut self, num_entry_points: usize, ) -> DiskAnnResult<()>
Select entry points (medoids) - vectors closest to the center
Sourcepub fn finalize(self) -> DiskAnnResult<VamanaGraph>
pub fn finalize(self) -> DiskAnnResult<VamanaGraph>
Finalize the index and save to storage
Sourcepub fn num_vectors(&self) -> usize
pub fn num_vectors(&self) -> usize
Get current number of vectors
Trait Implementations§
Auto Trait Implementations§
impl Freeze for DiskAnnBuilder
impl !RefUnwindSafe for DiskAnnBuilder
impl Send for DiskAnnBuilder
impl Sync for DiskAnnBuilder
impl Unpin for DiskAnnBuilder
impl !UnwindSafe for DiskAnnBuilder
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<R, P> ReadPrimitive<R> for P
impl<R, P> ReadPrimitive<R> for P
Source§fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
Read this value from the supplied reader. Same as
ReadEndian::read_from_little_endian().Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.