Skip to main content

Crate frostem

Crate frostem 

Source
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 changed algorithms/ (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.
UnknownAlgorithm
Error returned when an algorithm name cannot be resolved.

Enums§

Algorithm
Snowball stemming algorithm.