pub struct SparseIndex { /* private fields */ }Expand description
In-memory inverted index for sparse vectors.
Implementations§
Source§impl SparseIndex
impl SparseIndex
pub fn new() -> Self
Sourcepub fn from_parts(
dim_map: HashMap<u32, usize>,
dim_reverse: Vec<u32>,
postings: Vec<Postings>,
vectors: HashMap<u64, SparseVector>,
) -> Self
pub fn from_parts( dim_map: HashMap<u32, usize>, dim_reverse: Vec<u32>, postings: Vec<Postings>, vectors: HashMap<u64, SparseVector>, ) -> Self
Reconstruct from stored parts (dims + vectors, postings separate).
pub fn dim_map(&self) -> &HashMap<u32, usize>
pub fn dim_reverse(&self) -> &[u32]
pub fn postings(&self) -> &[Postings]
pub fn postings_mut(&mut self) -> &mut Vec<Postings>
pub fn vectors(&self) -> &HashMap<u64, SparseVector>
pub fn set_vectors(&mut self, vectors: HashMap<u64, SparseVector>)
pub fn len(&self) -> usize
pub fn is_empty(&self) -> bool
Sourcepub fn insert(&mut self, node_id: u64, vector: &SparseVector)
pub fn insert(&mut self, node_id: u64, vector: &SparseVector)
Index a record’s vector, replacing any previous vector under the same id. Zero weights are not indexed (see the module docs).
Sourcepub fn search(&self, query: &SparseVector, limit: usize) -> Vec<(u64, f32)>
pub fn search(&self, query: &SparseVector, limit: usize) -> Vec<(u64, f32)>
Top-limit records by dot product with query, score descending
then id ascending.
Sourcepub fn search_filtered(
&self,
query: &SparseVector,
limit: usize,
allowed_ids: &[u64],
) -> Vec<(u64, f32)>
pub fn search_filtered( &self, query: &SparseVector, limit: usize, allowed_ids: &[u64], ) -> Vec<(u64, f32)>
search restricted to allowed_ids.
Trait Implementations§
Source§impl Debug for SparseIndex
impl Debug for SparseIndex
Source§impl Default for SparseIndex
impl Default for SparseIndex
Source§impl<'de> Deserialize<'de> for SparseIndex
impl<'de> Deserialize<'de> for SparseIndex
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for SparseIndex
impl RefUnwindSafe for SparseIndex
impl Send for SparseIndex
impl Sync for SparseIndex
impl Unpin for SparseIndex
impl UnsafeUnpin for SparseIndex
impl UnwindSafe for SparseIndex
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