pub struct IpfrsBackend { /* private fields */ }Expand description
IPFRS-native backend using HNSW index
Implementations§
Source§impl IpfrsBackend
impl IpfrsBackend
Sourcepub fn new(config: BackendConfig) -> Result<Self>
pub fn new(config: BackendConfig) -> Result<Self>
Create a new IPFRS backend
Sourcepub fn index(&self) -> &VectorIndex
pub fn index(&self) -> &VectorIndex
Get the underlying HNSW index (for advanced usage)
Sourcepub fn index_mut(&mut self) -> &mut VectorIndex
pub fn index_mut(&mut self) -> &mut VectorIndex
Get mutable reference to the underlying HNSW index
Trait Implementations§
Source§impl VectorBackend for IpfrsBackend
impl VectorBackend for IpfrsBackend
Source§fn insert(
&mut self,
cid: Cid,
vector: &[f32],
metadata: Option<Metadata>,
) -> Result<()>
fn insert( &mut self, cid: Cid, vector: &[f32], metadata: Option<Metadata>, ) -> Result<()>
Insert a single vector with optional metadata
Source§fn insert_batch(
&mut self,
items: &[(Cid, Vec<f32>, Option<Metadata>)],
) -> Result<()>
fn insert_batch( &mut self, items: &[(Cid, Vec<f32>, Option<Metadata>)], ) -> Result<()>
Insert multiple vectors in batch
Source§fn search(
&mut self,
query: &[f32],
k: usize,
filter: Option<&MetadataFilter>,
) -> Result<Vec<BackendSearchResult>>
fn search( &mut self, query: &[f32], k: usize, filter: Option<&MetadataFilter>, ) -> Result<Vec<BackendSearchResult>>
Search for k nearest neighbors
Source§fn backend_name(&self) -> &str
fn backend_name(&self) -> &str
Get backend name/type
Source§fn stats(&self) -> BackendStats
fn stats(&self) -> BackendStats
Get backend statistics
Source§fn search_batch(
&mut self,
queries: &[Vec<f32>],
k: usize,
filter: Option<&MetadataFilter>,
) -> Result<Vec<Vec<BackendSearchResult>>>
fn search_batch( &mut self, queries: &[Vec<f32>], k: usize, filter: Option<&MetadataFilter>, ) -> Result<Vec<Vec<BackendSearchResult>>>
Search with multiple queries in batch
Auto Trait Implementations§
impl Freeze for IpfrsBackend
impl RefUnwindSafe for IpfrsBackend
impl Send for IpfrsBackend
impl Sync for IpfrsBackend
impl Unpin for IpfrsBackend
impl UnwindSafe for IpfrsBackend
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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 moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.