pub trait VectorExecutor: Send + Sync {
// Required methods
fn search(
&self,
index: VectorIndexRef,
query: &[f32],
k: usize,
candidates: Option<&RoaringTreemap>,
snapshot: SnapshotId,
) -> Result<Vec<(RowId, f32)>>;
fn insert_vector(
&self,
tx: TxId,
index: VectorIndexRef,
row_id: RowId,
vector: Vec<f32>,
) -> Result<()>;
fn delete_vector(
&self,
tx: TxId,
index: VectorIndexRef,
row_id: RowId,
) -> Result<()>;
}Required Methods§
fn search( &self, index: VectorIndexRef, query: &[f32], k: usize, candidates: Option<&RoaringTreemap>, snapshot: SnapshotId, ) -> Result<Vec<(RowId, f32)>>
fn insert_vector( &self, tx: TxId, index: VectorIndexRef, row_id: RowId, vector: Vec<f32>, ) -> Result<()>
fn delete_vector( &self, tx: TxId, index: VectorIndexRef, row_id: RowId, ) -> Result<()>
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".