Expand description
Pre-built Snowball stemmers for Rust.
frostem tracks upstream snowballstem/snowball main and publishes
generated Rust stemmers behind a small, stable facade.
§Versioning
- major — frostem public Rust API
- minor — UTC date (
YYYYMMDD) of the upstream commit that last changedalgorithms/(stem definitions) - patch — releases with no
algorithms/change (codegen/runtime-only upstream sync, frostem-only fixes, version collisions)
Upstream commit pins live in the repository (upstream-pin.toml), not in
the public Rust API.
§Features
Every algorithm is an individual Cargo feature (same name as the Snowball
algorithm id). The default feature set is all (every algorithm).
# Only English + German:
frostem = { version = "1", default-features = false, features = ["english", "german"] }§Example
use frostem::{Algorithm, Stemmer};
let stemmer = Stemmer::new(Algorithm::English);
assert_eq!(stemmer.stem("fruitlessly"), "fruitless");Inputs should already be lowercased when that is meaningful for the language.
Structs§
- Stemmer
- A stemmer bound to a single Snowball
Algorithm. - Unknown
Algorithm - Error returned when an algorithm name cannot be resolved.
Enums§
- Algorithm
- Snowball stemming algorithm.