uqa-analysis 0.3.6

Tokenizers, char/token filters, and analyzers for UQA full-text search
Documentation
//
// Unified Query Algebra
//
// Copyright (c) 2023-2026 Cognica, Inc.
//

//! Text analysis pipeline: char filters, tokenizers, token filters,
//! composable [`Analyzer`], and a global named-analyzer registry.

mod allocation;
pub mod analyzer;
mod cache;
pub mod char_filter;
mod character_class;
mod cooperative_regex;
pub mod descriptor;
pub mod error;
pub mod highlight;
#[cfg(feature = "kuromoji")]
pub mod kuromoji;
#[cfg(any(feature = "nori", feature = "kuromoji"))]
mod morphology;
#[cfg(feature = "nori")]
pub mod nori;
pub mod normalization;
pub use normalization::NormalizationConfig;
#[cfg(any(feature = "nori", feature = "kuromoji"))]
pub use normalization::UnicodeProfile;
pub mod porter;
pub mod registry;
pub mod resources;
pub mod source;
pub mod term;
pub mod token;
pub mod token_filter;
pub mod tokenizer;

pub use analyzer::{
    keyword_analyzer, standard_analyzer, standard_cjk_analyzer, whitespace_analyzer, Analyzer,
    CompiledAnalyzer,
};
pub use char_filter::CharFilter;
pub use descriptor::{AnalyzerDescriptor, AnalyzerFingerprint, AnalyzerLimits, TokenLengthPolicy};
pub use error::{AnalysisError, AnalysisResult};
pub use highlight::{
    highlight, highlight_budgeted, highlight_compiled, highlight_compiled_budgeted,
    HighlightOptions,
};
pub use registry::{
    builtin_analyzer_names, drop_analyzer, get_analyzer, is_builtin_analyzer, list_analyzers,
    register_analyzer, DEFAULT_ANALYZER_NAME,
};
pub use resources::{AnalyzerCacheStats, AnalyzerResources, AnalyzerResourcesBuilder};
pub use source::{FilteredText, SourceOffsets, TextCoordinates};
pub use term::TokenTerm;
pub use token::{AnalysisToken, AnalyzedText};
#[cfg(any(feature = "nori", feature = "kuromoji"))]
pub use token_filter::{EmptyFilterConfig, SimpleLowercaseConfig, UnicodeProfileSource};
pub use token_filter::{SynonymFileError, TokenFilter};
pub use tokenizer::Tokenizer;