pub struct ElisionTokenFilter {
pub elisions: FxHashSet<String>,
pub ignore_case: bool,
}
Available on crate feature
commons
only.Expand description
A token filter that removes elision from a token.
For example, the token l'avion
will
become avion
.
use tantivy_analysis_contrib::commons::ElisionTokenFilter;
let filter = ElisionTokenFilter::from_iter_str(vec!["l", "m", "t", "qu", "n", "s", "j", "d", "c", "jusqu", "quoiqu", "lorsqu", "puisqu"], true);
§Example
This example shows produced token by ElisionTokenFilter.
All starting l'
and m'
are removed from tokens whatever the case is.
use tantivy::tokenizer::{WhitespaceTokenizer, TextAnalyzer, Token};
use tantivy_analysis_contrib::commons::ElisionTokenFilter;
let mut tmp = TextAnalyzer::builder(WhitespaceTokenizer::default())
.filter(ElisionTokenFilter::from_iter_str(vec!["L", "M"], true))
.build();
let mut token_stream = tmp.token_stream("Plop, juste pour voir l'embrouille avec O'brian. m'enfin.");
let token = token_stream.next().expect("A token should be present.");
assert_eq!(token.text, "Plop,".to_string());
let token = token_stream.next().expect("A token should be present.");
assert_eq!(token.text, "juste".to_string());
let token = token_stream.next().expect("A token should be present.");
assert_eq!(token.text, "pour".to_string());
let token = token_stream.next().expect("A token should be present.");
assert_eq!(token.text, "voir".to_string());
let token = token_stream.next().expect("A token should be present.");
assert_eq!(token.text, "embrouille".to_string());
let token = token_stream.next().expect("A token should be present.");
assert_eq!(token.text, "avec".to_string());
let token = token_stream.next().expect("A token should be present.");
assert_eq!(token.text, "O'brian.".to_string());
let token = token_stream.next().expect("A token should be present.");
assert_eq!(token.text, "enfin.".to_string());
assert_eq!(None, token_stream.next());
Fields§
§elisions: FxHashSet<String>
Set of elisions
ignore_case: bool
Indicates that elisions are case-insensitive
Implementations§
source§impl ElisionTokenFilter
impl ElisionTokenFilter
sourcepub fn from_iter_string(
elisions: impl IntoIterator<Item = String>,
ignore_case: bool
) -> Self
pub fn from_iter_string( elisions: impl IntoIterator<Item = String>, ignore_case: bool ) -> Self
Construct a new ElisionTokenFilter from an iterator over String and a bool.
§Parameters :
elisions
: list of elision to remove from tokensignore_case
: indicate that elisions are case-insensitive
sourcepub fn from_iter_str<'a>(
elisions: impl IntoIterator<Item = &'a str>,
ignore_case: bool
) -> Self
pub fn from_iter_str<'a>( elisions: impl IntoIterator<Item = &'a str>, ignore_case: bool ) -> Self
Construct a new ElisionTokenFilter from an iterator over str and a bool.
§Parameters :
elisions
: list of elision to remove from tokensignore_case
: indicate that elisions are case-insensitive
Trait Implementations§
source§impl Clone for ElisionTokenFilter
impl Clone for ElisionTokenFilter
source§fn clone(&self) -> ElisionTokenFilter
fn clone(&self) -> ElisionTokenFilter
Returns a copy 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 ElisionTokenFilter
impl Debug for ElisionTokenFilter
source§impl PartialEq for ElisionTokenFilter
impl PartialEq for ElisionTokenFilter
source§fn eq(&self, other: &ElisionTokenFilter) -> bool
fn eq(&self, other: &ElisionTokenFilter) -> bool
This method tests for
self
and other
values to be equal, and is used
by ==
.source§impl TokenFilter for ElisionTokenFilter
impl TokenFilter for ElisionTokenFilter
impl Eq for ElisionTokenFilter
impl StructuralPartialEq for ElisionTokenFilter
Auto Trait Implementations§
impl Freeze for ElisionTokenFilter
impl RefUnwindSafe for ElisionTokenFilter
impl Send for ElisionTokenFilter
impl Sync for ElisionTokenFilter
impl Unpin for ElisionTokenFilter
impl UnwindSafe for ElisionTokenFilter
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