pub struct IdMap<I> { /* private fields */ }
Expand description
Wrapper for implementing arbitrary ID mapping to an index.
See the module level documentation for more information.
Implementations§
source§impl<I> IdMap<I>where
I: NativeIndex,
impl<I> IdMap<I>where
I: NativeIndex,
sourcepub fn index_inner_ptr(&self) -> *mut FaissIndex
pub fn index_inner_ptr(&self) -> *mut FaissIndex
Obtain the raw pointer to the internal index.
Safety
While this method is safe, note that the returned index pointer is
already owned by this ID map. Therefore, it is undefined behaviour to
create a high-level index value from this pointer without first
decoupling this ownership. See [into_inner
] for a safe alternative.
sourcepub fn into_inner(self) -> Iwhere
I: FromInnerPtr,
pub fn into_inner(self) -> Iwhere
I: FromInnerPtr,
Discard the ID map, recovering the index originally created without it.
Trait Implementations§
source§impl<I> ConcurrentIndex for IdMap<I>where
I: ConcurrentIndex,
impl<I> ConcurrentIndex for IdMap<I>where
I: ConcurrentIndex,
source§fn assign(&self, query: &[f32], k: usize) -> Result<AssignSearchResult>
fn assign(&self, query: &[f32], k: usize) -> Result<AssignSearchResult>
Similar to
search
, but only provides the labels.source§fn search(&self, query: &[f32], k: usize) -> Result<SearchResult>
fn search(&self, query: &[f32], k: usize) -> Result<SearchResult>
Perform a search for the
k
closest vectors to the given query vectors.source§fn range_search(&self, query: &[f32], radius: f32) -> Result<RangeSearchResult>
fn range_search(&self, query: &[f32], radius: f32) -> Result<RangeSearchResult>
Perform a ranged search for the vectors closest to the given query vectors
by the given radius. Read more
source§impl<I> Index for IdMap<I>
impl<I> Index for IdMap<I>
source§fn is_trained(&self) -> bool
fn is_trained(&self) -> bool
Whether the Index does not require training, or if training is done already
source§fn metric_type(&self) -> MetricType
fn metric_type(&self) -> MetricType
The metric type assumed by the index
source§fn add(&mut self, x: &[f32]) -> Result<()>
fn add(&mut self, x: &[f32]) -> Result<()>
Add new data vectors to the index.
This assumes a C-contiguous memory slice of vectors, where the total
number of vectors is
x.len() / d
. Read moresource§fn add_with_ids(&mut self, x: &[f32], xids: &[Idx]) -> Result<()>
fn add_with_ids(&mut self, x: &[f32], xids: &[Idx]) -> Result<()>
Add new data vectors to the index with IDs.
This assumes a C-contiguous memory slice of vectors, where the total
number of vectors is
x.len() / d
.
Not all index types may support this operation. Read moresource§fn assign(&mut self, query: &[f32], k: usize) -> Result<AssignSearchResult>
fn assign(&mut self, query: &[f32], k: usize) -> Result<AssignSearchResult>
Similar to
search
, but only provides the labels.source§fn search(&mut self, query: &[f32], k: usize) -> Result<SearchResult>
fn search(&mut self, query: &[f32], k: usize) -> Result<SearchResult>
Perform a search for the
k
closest vectors to the given query vectors.source§fn range_search(
&mut self,
query: &[f32],
radius: f32
) -> Result<RangeSearchResult>
fn range_search(
&mut self,
query: &[f32],
radius: f32
) -> Result<RangeSearchResult>
Perform a ranged search for the vectors closest to the given query vectors
by the given radius. Read more
source§fn remove_ids(&mut self, sel: &IdSelector) -> Result<i64>
fn remove_ids(&mut self, sel: &IdSelector) -> Result<i64>
Remove data vectors represented by IDs.
source§impl<I> NativeIndex for IdMap<I>
impl<I> NativeIndex for IdMap<I>
source§fn inner_ptr(&self) -> *mut FaissIndex
fn inner_ptr(&self) -> *mut FaissIndex
Retrieve a pointer to the native index object.