pub struct ShardManager { /* private fields */ }Expand description
Unified shard manager supporting multiple strategies
Implementations§
Source§impl ShardManager
impl ShardManager
Sourcepub fn new(config: ShardingConfig) -> Self
pub fn new(config: ShardingConfig) -> Self
Create a new shard manager
Sourcepub fn get_shard(&self, vector_id: &str) -> ShardAssignment
pub fn get_shard(&self, vector_id: &str) -> ShardAssignment
Get shard assignment for a vector ID
Sourcepub fn get_shards_batch(
&self,
vector_ids: &[String],
) -> HashMap<u32, Vec<String>>
pub fn get_shards_batch( &self, vector_ids: &[String], ) -> HashMap<u32, Vec<String>>
Get shards for a batch of vector IDs
Sourcepub fn get_all_shards(&self) -> Vec<u32>
pub fn get_all_shards(&self) -> Vec<u32>
Get all shard IDs for scatter queries
Sourcepub fn register_shard_nodes(&mut self, shard_id: u32, node_ids: Vec<String>)
pub fn register_shard_nodes(&mut self, shard_id: u32, node_ids: Vec<String>)
Register nodes for a shard
Sourcepub fn get_partition_info(&self) -> Vec<PartitionInfo>
pub fn get_partition_info(&self) -> Vec<PartitionInfo>
Get partition information for all shards
Auto Trait Implementations§
impl Freeze for ShardManager
impl RefUnwindSafe for ShardManager
impl Send for ShardManager
impl Sync for ShardManager
impl Unpin for ShardManager
impl UnsafeUnpin for ShardManager
impl UnwindSafe for ShardManager
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 more