#snowball #stemming #bindings #stem #algorithm

sys stemmer

Stemming library for Rust, using bindings to Snowball C implementation

6 releases

Uses old Rust 2015

0.3.2 Dec 10, 2015
0.3.1 Nov 12, 2015
0.3.0 Oct 2, 2015
0.2.0 Aug 9, 2015
0.1.1 Jun 23, 2015

#4 in #stem

Download history 16/week @ 2023-11-29 15/week @ 2023-12-06 19/week @ 2023-12-13 17/week @ 2023-12-20 17/week @ 2023-12-27 29/week @ 2024-01-03 37/week @ 2024-01-10 15/week @ 2024-01-17 16/week @ 2024-01-24 35/week @ 2024-01-31 30/week @ 2024-02-07 50/week @ 2024-02-14 50/week @ 2024-02-21 134/week @ 2024-02-28 49/week @ 2024-03-06 57/week @ 2024-03-13

303 downloads per month
Used in 4 crates (3 directly)

BSD-2-Clause

545KB
14K SLoC

C 14K SLoC // 0.0% comments Rust 135 SLoC // 0.3% comments

stemmer-rs

Stemming library for Rust, using bindings to Snowball C implementation (see http://snowball.tartarus.org/)

Usage

  • 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 if algorithm is 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.

Documentation

See the documentation for this library.

Credits

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.

License

The Rust bindings, as well as the original C implementation, is covered by the BSD license (http://opensource.org/licenses/bsd-license.html).

Dependencies