Struct faiss::index::lsh::LshIndex

source ·
pub struct LshIndex { /* private fields */ }

Implementations§

source§

impl LshIndex

source

pub fn new(d: u32, nbits: u32) -> Result<Self>

Create a new LSH index.

source

pub fn new_with_options( d: u32, nbits: u32, rotate_data: bool, train_thresholds: bool ) -> Result<Self>

Create a new LSH index.

source

pub fn nbits(&self) -> u32

source

pub fn rotate_data(&self) -> bool

source

pub fn train_thresholds(&self) -> bool

source

pub fn code_size(&self) -> usize

Trait Implementations§

source§

impl ConcurrentIndex for LshIndexwhere Self: Index + NativeIndex,

source§

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>

Perform a search for the k closest vectors to the given query vectors.
source§

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.
source§

impl Debug for LshIndex

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Drop for LshIndex

source§

fn drop(&mut self)

Executes the destructor for this type. Read more
source§

impl FromInnerPtr for LshIndex

source§

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 LshIndex

source§

fn is_trained(&self) -> bool

Whether the Index does not require training, or if training is done already
source§

fn ntotal(&self) -> u64

The total number of vectors indexed
source§

fn d(&self) -> u32

The dimensionality of the indexed vectors
source§

fn metric_type(&self) -> MetricType

The metric type assumed by the index
source§

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.
source§

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.
source§

fn train(&mut self, x: &[f32]) -> Result<()>

Train the underlying index with the given data.
source§

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>

Perform a search for the k closest vectors to the given query vectors.
Perform a ranged search for the vectors closest to the given query vectors by the given radius.
source§

fn reset(&mut self) -> Result<()>

Clear the entire index.
source§

fn remove_ids(&mut self, sel: &IdSelector) -> Result<usize>

Remove data vectors represented by IDs.
source§

fn verbose(&self) -> bool

Index verbosity level
source§

fn set_verbose(&mut self, value: bool)

Set Index verbosity level
source§

impl NativeIndex for LshIndex

source§

fn inner_ptr(&self) -> *mut FaissIndex

Retrieve a pointer to the native index object.
source§

impl TryClone for LshIndex

source§

fn try_clone(&self) -> Result<Self>where Self: Sized,

Create an independent clone of this index. Read more
source§

impl TryFromInnerPtr for LshIndex

source§

unsafe fn try_from_inner_ptr(inner_ptr: *mut FaissIndex) -> Result<Self>where Self: Sized,

Create an index using the given pointer to a native object, checking that the index behind the given pointer is compatible with the target index type. If the inner index is not compatible with the intended target type (e.g. creating a FlatIndex out of a FaissIndexLSH), an error is returned. Read more
source§

impl CpuIndex for LshIndex

source§

impl Send for LshIndex

source§

impl Sync for LshIndex

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for Twhere U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<NI> UpcastIndex for NIwhere NI: NativeIndex,

source§

fn upcast(self) -> IndexImpl

Convert an index to the base IndexImpl type