pub trait FullTextIndex: Send + Sync {
// Required methods
fn add(&self, id: Uuid, content: &str) -> Result<()>;
fn remove(&self, id: Uuid) -> Result<()>;
fn search(&self, query: &str, limit: usize) -> Result<Vec<(Uuid, f32)>>;
fn commit(&self) -> Result<()>;
fn save(&self) -> Result<()>;
fn len(&self) -> usize;
// Provided method
fn is_empty(&self) -> bool { ... }
}