pub struct SparseHandle { /* private fields */ }Implementations§
Source§impl SparseHandle
impl SparseHandle
Sourcepub fn create(path: &str) -> Result<Self, String>
pub fn create(path: &str) -> Result<Self, String>
Create a new empty sparse index at the given path.
Sourcepub fn open(path: &str) -> Result<Self, String>
pub fn open(path: &str) -> Result<Self, String>
Open an existing sparse index. Tries new mmap format first, falls back to legacy bincode.
Sourcepub fn create_with_store(
store: Arc<dyn BlobStore>,
index_name: &str,
cache_base: &Path,
) -> Result<Self, String>
pub fn create_with_store( store: Arc<dyn BlobStore>, index_name: &str, cache_base: &Path, ) -> Result<Self, String>
Create a new empty sparse index backed by a BlobStore.
cache_base is the root directory for mmap caches. Inside it, a unique
subdirectory {pid}/{index_name}_{seq} is created automatically.
Source of truth is the store.
Sourcepub fn open_with_store(
store: Arc<dyn BlobStore>,
index_name: &str,
cache_base: &Path,
) -> Result<Self, String>
pub fn open_with_store( store: Arc<dyn BlobStore>, index_name: &str, cache_base: &Path, ) -> Result<Self, String>
Open an existing sparse index from a BlobStore.
cache_base is the root directory for mmap caches. Blobs are materialized
from the store into {cache_base}/{pid}/{index_name}_{seq}/, then mmap’d.
pub fn insert(&self, node_id: u64, vector: &SparseVector) -> Result<(), String>
pub fn remove(&self, node_id: u64) -> Result<bool, String>
pub fn search(&self, query: &SparseVector, limit: usize) -> Vec<(u64, f32)>
pub fn search_filtered( &self, query: &SparseVector, limit: usize, allowed_ids: &[u64], ) -> Vec<(u64, f32)>
pub fn len(&self) -> usize
pub fn is_empty(&self) -> bool
Sourcepub fn commit_inner(&self) -> Result<(), String>
pub fn commit_inner(&self) -> Result<(), String>
Write index to disk in the new mmap format, then re-mmap. If store-backed, also persists to BlobStore.
Trait Implementations§
Source§impl Drop for SparseHandle
impl Drop for SparseHandle
Auto Trait Implementations§
impl !Freeze for SparseHandle
impl !RefUnwindSafe for SparseHandle
impl !UnwindSafe for SparseHandle
impl Send for SparseHandle
impl Sync for SparseHandle
impl Unpin for SparseHandle
impl UnsafeUnpin for SparseHandle
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