pub trait Partitioner: Send + Sync {
// Required methods
fn fit(
&mut self,
vectors: &[f32],
num_vectors: usize,
) -> Result<(), RetrieveError>;
fn assign(
&self,
vectors: &[f32],
num_vectors: usize,
) -> Result<PartitionAssignments, RetrieveError>;
fn centroids(&self) -> &[Vec<f32>];
fn num_partitions(&self) -> usize;
}Expand description
Partitioning trait for different clustering methods.
Required Methods§
Sourcefn fit(
&mut self,
vectors: &[f32],
num_vectors: usize,
) -> Result<(), RetrieveError>
fn fit( &mut self, vectors: &[f32], num_vectors: usize, ) -> Result<(), RetrieveError>
Fit partitioner on vectors.
Sourcefn assign(
&self,
vectors: &[f32],
num_vectors: usize,
) -> Result<PartitionAssignments, RetrieveError>
fn assign( &self, vectors: &[f32], num_vectors: usize, ) -> Result<PartitionAssignments, RetrieveError>
Assign vectors to partitions.
Sourcefn num_partitions(&self) -> usize
fn num_partitions(&self) -> usize
Number of partitions.