Merge remote-tracking branch 'origin/upstream'
tree: a669be166028e797fb4e6df59b90dbea419aec99
  1. algorithms/
  2. examples/
  3. src/
  4. Android.bp
  5. Cargo.toml
  6. Cargo.toml.orig
  7. cargo_embargo.json
  8. LICENSE
  9. METADATA
  10. MODULE_LICENSE_BSD
  11. MODULE_LICENSE_MIT
  12. OWNERS
  13. README.md
README.md

Rust Stemmers

This crate implements some stemmer algorithms found in the snowball project which are compiled to rust using the rust-backend of the snowball compiler.

Supported Algorithms

  • Arabic
  • Danish
  • Dutch
  • English
  • French
  • German
  • Greek
  • Hungarian
  • Italian
  • Norwegian
  • Portuguese
  • Romanian
  • Russian
  • Spanish
  • Swedish
  • Tamil
  • Turkish

Usage

extern crate rust_stemmers;
use rust_stemmers::{Algorithm, Stemmer};

// Create a stemmer for the english language
let en_stemmer = Stemmer::create(Algorithm::English);

// Stemm the word "fruitlessly"
// Please be aware that all algorithms expect their input to only contain lowercase characters.
assert_eq!(en_stemmer.stem("fruitlessly"), "fruitless");

Related Projects

  • The stemmer crate provides bindings to the C Snowball implementation.