Skip to main content

Partitioner

Trait Partitioner 

Source
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§

Source

fn fit( &mut self, vectors: &[f32], num_vectors: usize, ) -> Result<(), RetrieveError>

Fit partitioner on vectors.

Source

fn assign( &self, vectors: &[f32], num_vectors: usize, ) -> Result<PartitionAssignments, RetrieveError>

Assign vectors to partitions.

Source

fn centroids(&self) -> &[Vec<f32>]

Get partition centroids (for routing queries).

Source

fn num_partitions(&self) -> usize

Number of partitions.

Implementors§