Skip to main content

uqa_analysis/
lib.rs

1//
2// Unified Query Algebra
3//
4// Copyright (c) 2023-2026 Cognica, Inc.
5//
6
7//! Text analysis pipeline: char filters, tokenizers, token filters,
8//! composable [`Analyzer`], and a global named-analyzer registry.
9
10mod allocation;
11pub mod analyzer;
12mod cache;
13pub mod char_filter;
14mod character_class;
15mod cooperative_regex;
16pub mod descriptor;
17pub mod error;
18pub mod highlight;
19#[cfg(feature = "kuromoji")]
20pub mod kuromoji;
21#[cfg(any(feature = "nori", feature = "kuromoji"))]
22mod morphology;
23#[cfg(feature = "nori")]
24pub mod nori;
25pub mod normalization;
26pub use normalization::NormalizationConfig;
27#[cfg(any(feature = "nori", feature = "kuromoji"))]
28pub use normalization::UnicodeProfile;
29pub mod porter;
30pub mod registry;
31pub mod resources;
32pub mod source;
33pub mod term;
34pub mod token;
35pub mod token_filter;
36pub mod tokenizer;
37
38pub use analyzer::{
39    keyword_analyzer, standard_analyzer, standard_cjk_analyzer, whitespace_analyzer, Analyzer,
40    CompiledAnalyzer,
41};
42pub use char_filter::CharFilter;
43pub use descriptor::{AnalyzerDescriptor, AnalyzerFingerprint, AnalyzerLimits, TokenLengthPolicy};
44pub use error::{AnalysisError, AnalysisResult};
45pub use highlight::{
46    highlight, highlight_budgeted, highlight_compiled, highlight_compiled_budgeted,
47    HighlightOptions,
48};
49pub use registry::{
50    builtin_analyzer_names, drop_analyzer, get_analyzer, is_builtin_analyzer, list_analyzers,
51    register_analyzer, DEFAULT_ANALYZER_NAME,
52};
53pub use resources::{AnalyzerCacheStats, AnalyzerResources, AnalyzerResourcesBuilder};
54pub use source::{FilteredText, SourceOffsets, TextCoordinates};
55pub use term::TokenTerm;
56pub use token::{AnalysisToken, AnalyzedText};
57#[cfg(any(feature = "nori", feature = "kuromoji"))]
58pub use token_filter::{EmptyFilterConfig, SimpleLowercaseConfig, UnicodeProfileSource};
59pub use token_filter::{SynonymFileError, TokenFilter};
60pub use tokenizer::Tokenizer;