Expand description
Full-text search engine shared by Origin, Lite, and WASM: BMW-optimized BM25 with 128-doc block pruning, 16 Snowball stemmers, 27-language stop words, CJK bigram tokenization (always available) plus optional dictionary segmentation (lindera/jieba/icu) wired in unconditionally, posting compression (delta + variable-width bitpack + SIMD unpack), LSM segment store, fuzzy match, synonyms, highlighting, n-gram / edge-ngram, and hybrid vector+text fusion.
FTS is a cross-engine overlay — it indexes text fields from any
collection without owning the row storage. Analyzer choice is made per
collection at DDL time via WITH (analyzer='...').
Re-exports§
pub use analyzer::AnalyzerRegistry;pub use analyzer::EdgeNgramAnalyzer;pub use analyzer::KeywordAnalyzer;pub use analyzer::LanguageAnalyzer;pub use analyzer::NgramAnalyzer;pub use analyzer::SimpleAnalyzer;pub use analyzer::StandardAnalyzer;pub use analyzer::SynonymMap;pub use analyzer::TextAnalyzer;pub use analyzer::analyze;pub use backend::FtsBackend;pub use block::CompactPosting;pub use block::PostingBlock;pub use fuzzy::fuzzy_discount;pub use fuzzy::fuzzy_match;pub use fuzzy::levenshtein;pub use fuzzy::max_distance_for_length;pub use index::FtsIndex;pub use index::FtsIndexError;pub use index::MAX_INDEXABLE_SURROGATE;pub use index::SynonymGroupRecord;pub use posting::Bm25Params;pub use posting::MatchOffset;pub use posting::Posting;pub use posting::QueryMode;pub use posting::TextSearchResult;pub use search::query_parser::InvalidQuery;pub use search::query_parser::ParsedQuery;
Modules§
- analyzer
- backend
- block
- 128-document posting block with compressed storage.
- bm25
- BM25 scoring function.
- codec
- fuzzy
- Fuzzy string matching via Levenshtein edit distance.
- highlight
- Highlight and match offset utilities for search results.
- index
- lsm
- posting
- Core types for the full-text search engine.
- search
Structs§
- Surrogate
- Global surrogate identifier.