pub struct MemoryBatchOps { /* private fields */ }Expand description
内存版批量操作实现
包装 InMemoryVectorStore,提供批量操作能力。
同时实现 PgVectorStore 以保证类型可组合使用。
Implementations§
Source§impl MemoryBatchOps
impl MemoryBatchOps
pub fn new(store: InMemoryVectorStore) -> Self
pub fn from_new() -> Self
Sourcepub fn inner(&self) -> &InMemoryVectorStore
pub fn inner(&self) -> &InMemoryVectorStore
获取内部 store 引用
Trait Implementations§
Source§impl BatchOpsExt for MemoryBatchOps
impl BatchOpsExt for MemoryBatchOps
Source§fn batch_search<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
collection: &'life1 str,
queries: &'life2 [Vec<f32>],
top_k: usize,
) -> Pin<Box<dyn Future<Output = Result<Vec<Vec<SearchResult>>, VectorError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn batch_search<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
collection: &'life1 str,
queries: &'life2 [Vec<f32>],
top_k: usize,
) -> Pin<Box<dyn Future<Output = Result<Vec<Vec<SearchResult>>, VectorError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
批量搜索:一次提交多个查询向量 Read more
Source§fn batch_get<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
collection: &'life1 str,
ids: &'life2 [String],
) -> Pin<Box<dyn Future<Output = Result<Vec<Option<VectorRecord>>, VectorError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn batch_get<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
collection: &'life1 str,
ids: &'life2 [String],
) -> Pin<Box<dyn Future<Output = Result<Vec<Option<VectorRecord>>, VectorError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
批量获取:一次获取多个 id 的记录
Source§fn search_with_filter<'life0, 'life1, 'life2, 'life3, 'life4, 'async_trait>(
&'life0 self,
collection: &'life1 str,
query: &'life2 [f32],
top_k: usize,
filter_key: &'life3 str,
filter_value: &'life4 Value,
) -> Pin<Box<dyn Future<Output = Result<Vec<SearchResult>, VectorError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
'life4: 'async_trait,
fn search_with_filter<'life0, 'life1, 'life2, 'life3, 'life4, 'async_trait>(
&'life0 self,
collection: &'life1 str,
query: &'life2 [f32],
top_k: usize,
filter_key: &'life3 str,
filter_value: &'life4 Value,
) -> Pin<Box<dyn Future<Output = Result<Vec<SearchResult>, VectorError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
'life4: 'async_trait,
按元数据过滤搜索 Read more
Source§impl PgVectorStore for MemoryBatchOps
委托实现 PgVectorStore,将所有调用转发给内部 store
impl PgVectorStore for MemoryBatchOps
委托实现 PgVectorStore,将所有调用转发给内部 store
Source§fn create_collection<'life0, 'life1, 'async_trait>(
&'life0 self,
name: &'life1 str,
dimension: usize,
metric: Option<VectorMetric>,
) -> Pin<Box<dyn Future<Output = Result<(), VectorError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn create_collection<'life0, 'life1, 'async_trait>(
&'life0 self,
name: &'life1 str,
dimension: usize,
metric: Option<VectorMetric>,
) -> Pin<Box<dyn Future<Output = Result<(), VectorError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
创建集合
Source§fn delete_collection<'life0, 'life1, 'async_trait>(
&'life0 self,
name: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<(), VectorError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn delete_collection<'life0, 'life1, 'async_trait>(
&'life0 self,
name: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<(), VectorError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
删除集合
Source§fn insert<'life0, 'life1, 'async_trait>(
&'life0 self,
collection: &'life1 str,
records: Vec<VectorRecord>,
) -> Pin<Box<dyn Future<Output = Result<(), VectorError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn insert<'life0, 'life1, 'async_trait>(
&'life0 self,
collection: &'life1 str,
records: Vec<VectorRecord>,
) -> Pin<Box<dyn Future<Output = Result<(), VectorError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
插入向量记录(upsert 语义:相同 id 会覆盖)
Source§fn search<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
collection: &'life1 str,
query: &'life2 [f32],
top_k: usize,
) -> Pin<Box<dyn Future<Output = Result<Vec<SearchResult>, VectorError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn search<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
collection: &'life1 str,
query: &'life2 [f32],
top_k: usize,
) -> Pin<Box<dyn Future<Output = Result<Vec<SearchResult>, VectorError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
相似度搜索 Read more
Source§fn get<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
collection: &'life1 str,
id: &'life2 str,
) -> Pin<Box<dyn Future<Output = Result<Option<VectorRecord>, VectorError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn get<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
collection: &'life1 str,
id: &'life2 str,
) -> Pin<Box<dyn Future<Output = Result<Option<VectorRecord>, VectorError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
获取单个记录
Auto Trait Implementations§
impl !Freeze for MemoryBatchOps
impl RefUnwindSafe for MemoryBatchOps
impl Send for MemoryBatchOps
impl Sync for MemoryBatchOps
impl Unpin for MemoryBatchOps
impl UnsafeUnpin for MemoryBatchOps
impl UnwindSafe for MemoryBatchOps
Blanket Implementations§
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