pub struct FlatIndex { /* private fields */ }Expand description
Flat vector index: append-only buffer with brute-force search.
Implementations§
Source§impl FlatIndex
impl FlatIndex
Sourcepub fn new(dim: usize, metric: DistanceMetric) -> Self
pub fn new(dim: usize, metric: DistanceMetric) -> Self
Create a new empty flat index.
Sourcepub fn insert(&mut self, vector: Vec<f32>) -> u32
pub fn insert(&mut self, vector: Vec<f32>) -> u32
Insert a vector. Returns the assigned vector ID.
Sourcepub fn search(&self, query: &[f32], top_k: usize) -> Vec<SearchResult>
pub fn search(&self, query: &[f32], top_k: usize) -> Vec<SearchResult>
Brute-force k-NN search. Exact results — no approximation.
Sourcepub fn search_filtered(
&self,
query: &[f32],
top_k: usize,
bitmap: &[u8],
) -> Vec<SearchResult>
pub fn search_filtered( &self, query: &[f32], top_k: usize, bitmap: &[u8], ) -> Vec<SearchResult>
Search with a pre-filter bitmap (byte-array format).
Sourcepub fn search_filtered_offset(
&self,
query: &[f32],
top_k: usize,
bitmap: &[u8],
id_offset: u32,
) -> Vec<SearchResult>
pub fn search_filtered_offset( &self, query: &[f32], top_k: usize, bitmap: &[u8], id_offset: u32, ) -> Vec<SearchResult>
Search with a pre-filter bitmap applying a global id offset.
The bitmap is interpreted in a shifted id space: bit i + id_offset
tests local id i. Used by multi-segment collections where the
bitmap holds GLOBAL vector ids.
pub fn len(&self) -> usize
pub fn live_count(&self) -> usize
pub fn is_empty(&self) -> bool
pub fn get_vector(&self, id: u32) -> Option<&[f32]>
Sourcepub fn get_vector_raw(&self, id: u32) -> Option<&[f32]>
pub fn get_vector_raw(&self, id: u32) -> Option<&[f32]>
Raw access bypassing tombstone filter — used by snapshot/restore.
Sourcepub fn is_deleted(&self, id: u32) -> bool
pub fn is_deleted(&self, id: u32) -> bool
Whether the given local id has been tombstoned.
Sourcepub fn insert_tombstoned(&mut self, vector: Vec<f32>) -> u32
pub fn insert_tombstoned(&mut self, vector: Vec<f32>) -> u32
Insert a vector that is already tombstoned (for checkpoint restore).
pub fn dim(&self) -> usize
pub fn metric(&self) -> DistanceMetric
pub fn tombstone_count(&self) -> usize
Auto Trait Implementations§
impl Freeze for FlatIndex
impl RefUnwindSafe for FlatIndex
impl Send for FlatIndex
impl Sync for FlatIndex
impl Unpin for FlatIndex
impl UnsafeUnpin for FlatIndex
impl UnwindSafe for FlatIndex
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
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> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Returns the layout of the type.
Source§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
Source§unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
Returns whether the given value has been niched. Read more
Source§fn resolve_niched(out: Place<NichedOption<T, N1>>)
fn resolve_niched(out: Place<NichedOption<T, N1>>)
Writes data to
out indicating that a T is niched.