pub struct IndexImpl { /* private fields */ }
Expand description
Native implementation of a Faiss Index running on the CPU.
Implementations§
source§impl IndexImpl
impl IndexImpl
sourcepub fn as_flat(self) -> Result<FlatIndexImpl>
pub fn as_flat(self) -> Result<FlatIndexImpl>
Attempt a dynamic cast of an index to the flat index type.
source§impl IndexImpl
impl IndexImpl
sourcepub fn to_gpu<'gpu, G: 'gpu>(
&self,
gpu_res: &'gpu G,
device: i32
) -> Result<GpuIndexImpl<'gpu, IndexImpl>>where
G: GpuResources,
pub fn to_gpu<'gpu, G: 'gpu>(
&self,
gpu_res: &'gpu G,
device: i32
) -> Result<GpuIndexImpl<'gpu, IndexImpl>>where
G: GpuResources,
Build a GPU index from the given CPU native index.
Errors
The operation fails if the index type does not provide GPU support.
sourcepub fn into_gpu<'gpu, G: 'gpu>(
self,
gpu_res: &'gpu G,
device: i32
) -> Result<GpuIndexImpl<'gpu, IndexImpl>>where
G: GpuResources,
pub fn into_gpu<'gpu, G: 'gpu>(
self,
gpu_res: &'gpu G,
device: i32
) -> Result<GpuIndexImpl<'gpu, IndexImpl>>where
G: GpuResources,
Build a GPU index from the given CPU native index. The index residing in CPU memory is discarded in the process.
Errors
The operation fails if the index does not provide GPU support.
Trait Implementations§
source§impl FromInnerPtr for IndexImpl
impl FromInnerPtr for IndexImpl
source§unsafe fn from_inner_ptr(inner_ptr: *mut FaissIndex) -> Self
unsafe fn from_inner_ptr(inner_ptr: *mut FaissIndex) -> Self
Create an index using the given pointer to a native object. Read more
source§impl Index for IndexImpl
impl Index for IndexImpl
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 NativeIndex for IndexImpl
impl NativeIndex for IndexImpl
source§fn inner_ptr(&self) -> *mut FaissIndex
fn inner_ptr(&self) -> *mut FaissIndex
Retrieve a pointer to the native index object.