mnemo_core/search/mod.rs
1pub mod tantivy_index;
2
3use crate::error::Result;
4use uuid::Uuid;
5
6pub trait FullTextIndex: Send + Sync {
7 fn add(&self, id: Uuid, content: &str) -> Result<()>;
8 fn remove(&self, id: Uuid) -> Result<()>;
9 fn search(&self, query: &str, limit: usize) -> Result<Vec<(Uuid, f32)>>;
10 fn commit(&self) -> Result<()>;
11 fn save(&self) -> Result<()>;
12 fn len(&self) -> usize;
13 fn is_empty(&self) -> bool {
14 self.len() == 0
15 }
16}