Stemming library for Rust, using bindings to Snowball C implementation (see http://snowball.tartarus.org/)
Stemmer::list()returns a vector with all possible algorithms that can be used.Stemmer::new(algorithm)creates a new Stemmer. Note that it returns an option, as it can fail ifalgorithmis not a valid one.- Once you have a (mutable)
Stemmer,stemmer.stem(word)stems a word.
Note that the C Stemming library (or at least the part that is used by the Rust bindings) is included and statically linked by the Rust bindings, so you don't have any other libraries to install when you use this Rust library.
See the documentation for this library.
These are just Rust bindings for the Snowball C stemming library, written by Martin Porter. See http://snowball.tartarus.org/index.php for the Snowball project and http://snowball.tartarus.org/dist/libstemmer_c.tgz for the C version.
The Rust bindings, as well as the original C implementation, is covered by the BSD license (http://opensource.org/licenses/bsd-license.html).