pub struct SearchFilter {
pub query: String,
pub columns: Vec<String>,
pub case_sensitive: bool,
pub exact_match: bool,
}
Expand description
Search filter for text-based searches
Provides flexible text search capabilities across one or more columns with options for case sensitivity and exact matching.
§Examples
use libsql_orm::SearchFilter;
// Basic search across multiple fields
let search = SearchFilter::new("john", vec!["name", "email"]);
// Case-sensitive exact match
let exact_search = SearchFilter::new("John Doe", vec!["full_name"])
.case_sensitive(true)
.exact_match(true);
// Convert to filter for use in queries
let filter_op = search.to_filter_operator();
Fields§
§query: String
Search query
columns: Vec<String>
Columns to search in
case_sensitive: bool
Whether to use case-sensitive search
exact_match: bool
Whether to use exact match
Implementations§
Source§impl SearchFilter
impl SearchFilter
Sourcepub fn new(query: impl Into<String>, columns: Vec<impl Into<String>>) -> Self
pub fn new(query: impl Into<String>, columns: Vec<impl Into<String>>) -> Self
Create a new search filter
Sourcepub fn case_sensitive(self, case_sensitive: bool) -> Self
pub fn case_sensitive(self, case_sensitive: bool) -> Self
Set case sensitivity
Sourcepub fn exact_match(self, exact_match: bool) -> Self
pub fn exact_match(self, exact_match: bool) -> Self
Set exact match
Sourcepub fn to_filter_operator(&self) -> FilterOperator
pub fn to_filter_operator(&self) -> FilterOperator
Convert to FilterOperator
Sourcepub fn new_single_field(
field: impl Into<String>,
query: impl Into<String>,
) -> Self
pub fn new_single_field( field: impl Into<String>, query: impl Into<String>, ) -> Self
Create a new search filter for a single field
Sourcepub fn new_multiple_fields(
fields: Vec<impl Into<String>>,
query: impl Into<String>,
) -> Self
pub fn new_multiple_fields( fields: Vec<impl Into<String>>, query: impl Into<String>, ) -> Self
Create a new search filter for multiple fields
Sourcepub fn to_filter_operator_improved(&self) -> FilterOperator
pub fn to_filter_operator_improved(&self) -> FilterOperator
Convert to FilterOperator with improved search logic
Trait Implementations§
Source§impl Clone for SearchFilter
impl Clone for SearchFilter
Source§fn clone(&self) -> SearchFilter
fn clone(&self) -> SearchFilter
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 SearchFilter
impl Debug for SearchFilter
Source§impl<'de> Deserialize<'de> for SearchFilter
impl<'de> Deserialize<'de> for SearchFilter
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 SearchFilter
impl RefUnwindSafe for SearchFilter
impl Send for SearchFilter
impl Sync for SearchFilter
impl Unpin for SearchFilter
impl UnwindSafe for SearchFilter
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