mirror of
https://github.com/meilisearch/MeiliSearch
synced 2025-07-04 20:37:15 +02:00
23 lines
548 B
Rust
23 lines
548 B
Rust
use std::error::Error;
|
|
use fst::Set;
|
|
use sdset::SetBuf;
|
|
use crate::DocIndex;
|
|
|
|
pub trait Store {
|
|
type Error: Error;
|
|
|
|
fn words(&self) -> Result<&Set, Self::Error>;
|
|
fn word_indexes(&self, word: &[u8]) -> Result<Option<SetBuf<DocIndex>>, Self::Error>;
|
|
}
|
|
|
|
impl<T> Store for &'_ T where T: Store {
|
|
type Error = T::Error;
|
|
|
|
fn words(&self) -> Result<&Set, Self::Error> {
|
|
(*self).words()
|
|
}
|
|
|
|
fn word_indexes(&self, word: &[u8]) -> Result<Option<SetBuf<DocIndex>>, Self::Error> {
|
|
(*self).word_indexes(word)
|
|
}
|
|
}
|