pub struct InvertedIndex { /* private fields */ }Expand description
Inverted index for full-text search
Implementations§
Source§impl InvertedIndex
impl InvertedIndex
pub fn new(config: FullTextConfig) -> Self
Sourcepub fn add_document(&mut self, doc_id: &str, text: &str)
pub fn add_document(&mut self, doc_id: &str, text: &str)
Add a document to the index
Sourcepub fn add_document_with_metadata(
&mut self,
doc_id: &str,
text: &str,
metadata: Option<Value>,
)
pub fn add_document_with_metadata( &mut self, doc_id: &str, text: &str, metadata: Option<Value>, )
Add a document with optional metadata to the index
Sourcepub fn remove_document(&mut self, doc_id: &str) -> bool
pub fn remove_document(&mut self, doc_id: &str) -> bool
Remove a document from the index
Sourcepub fn search(&self, query: &str, top_k: usize) -> Vec<FullTextResult>
pub fn search(&self, query: &str, top_k: usize) -> Vec<FullTextResult>
Search the index using BM25 scoring
Sourcepub fn stats(&self) -> FullTextStats
pub fn stats(&self) -> FullTextStats
Get index statistics
Sourcepub fn get_metadata(&self, doc_id: &str) -> Option<&Value>
pub fn get_metadata(&self, doc_id: &str) -> Option<&Value>
Get metadata for a document
Sourcepub fn search_with_filter(
&self,
query: &str,
top_k: usize,
filter: Option<&FilterExpression>,
) -> Vec<FullTextResult>
pub fn search_with_filter( &self, query: &str, top_k: usize, filter: Option<&FilterExpression>, ) -> Vec<FullTextResult>
Search the index with an optional metadata filter
Trait Implementations§
Source§impl Clone for InvertedIndex
impl Clone for InvertedIndex
Source§fn clone(&self) -> InvertedIndex
fn clone(&self) -> InvertedIndex
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for InvertedIndex
impl Debug for InvertedIndex
Source§impl Default for InvertedIndex
impl Default for InvertedIndex
Source§impl<'de> Deserialize<'de> for InvertedIndex
impl<'de> Deserialize<'de> for InvertedIndex
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for InvertedIndex
impl RefUnwindSafe for InvertedIndex
impl Send for InvertedIndex
impl Sync for InvertedIndex
impl Unpin for InvertedIndex
impl UnsafeUnpin for InvertedIndex
impl UnwindSafe for InvertedIndex
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more