pub struct ICUNormalizer2TokenFilter { /* private fields */ }
Available on crate feature
icu
only.Expand description
TokenFilter that converts text into a normal form. It supports all Google’s unicode normalization using Mode:
- NFC
- NFD
- NFKC
- NFKD
- NFKC casefold
See Wikipedia’s unicode normalization or Unicode documentation for more information.
Building an ICUNormalizer2TokenFilter is straightforward :
use tantivy_analysis_contrib::icu::ICUNormalizer2TokenFilter;
use tantivy_analysis_contrib::icu::Mode;
let normalizer = ICUNormalizer2TokenFilter::new(Mode::NFD)?;
§Example
Here is an example showing which tokens are produce
use tantivy::tokenizer::{RawTokenizer, TextAnalyzer, Token};
use tantivy_analysis_contrib::icu::{ICUNormalizer2TokenFilter, Mode};
let mut tmp = TextAnalyzer::builder(RawTokenizer::default())
.filter(ICUNormalizer2TokenFilter::new(Mode::NFKCCasefold)?)
.build();
let mut token_stream = tmp.token_stream("Ruß");
let token = token_stream.next().expect("A token should be present.");
assert_eq!(token.text, "russ".to_string());
assert_eq!(None, token_stream.next());
Implementations§
Trait Implementations§
source§impl Clone for ICUNormalizer2TokenFilter
impl Clone for ICUNormalizer2TokenFilter
source§fn clone(&self) -> ICUNormalizer2TokenFilter
fn clone(&self) -> ICUNormalizer2TokenFilter
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 ICUNormalizer2TokenFilter
impl Debug for ICUNormalizer2TokenFilter
source§impl From<Mode> for ICUNormalizer2TokenFilter
impl From<Mode> for ICUNormalizer2TokenFilter
impl Copy for ICUNormalizer2TokenFilter
Auto Trait Implementations§
impl Freeze for ICUNormalizer2TokenFilter
impl RefUnwindSafe for ICUNormalizer2TokenFilter
impl Send for ICUNormalizer2TokenFilter
impl Sync for ICUNormalizer2TokenFilter
impl Unpin for ICUNormalizer2TokenFilter
impl UnwindSafe for ICUNormalizer2TokenFilter
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