# phpman > perldoc > Lingua::Stem::Ru

## NAME
    [Lingua::Stem::Ru](https://www.chedong.com/phpMan.php/perldoc/Lingua%3A%3AStem%3A%3ARu/markdown) - Porter's stemming algorithm for Russian (KOI8-R only)

## SYNOPSIS
        use [Lingua::Stem::Ru](https://www.chedong.com/phpMan.php/perldoc/Lingua%3A%3AStem%3A%3ARu/markdown);
        my $stems = [Lingua::Stem::Ru::stem](https://www.chedong.com/phpMan.php/perldoc/Lingua%3A%3AStem%3A%3ARu%3A%3Astem/markdown)({ -words => $word_list_reference,
                                             -locale => 'ru',
                                             -exceptions => $exceptions_hash,
                                          });

        my $stem = [Lingua::Stem::Ru::stem_word](https://www.chedong.com/phpMan.php/perldoc/Lingua%3A%3AStem%3A%3ARu%3A%3Astemword/markdown)( $word );

## DESCRIPTION
    This module applies the Porter Stemming Algorithm to its parameters, returning the stemmed
    words.

    The algorithm is implemented exactly as described in:

        <http://snowball.tartarus.org/algorithms/russian/stemmer.html>

    The code is carefully crafted to work in conjunction with the [Lingua::Stem](https://www.chedong.com/phpMan.php/perldoc/Lingua%3A%3AStem/markdown) module by Benjamin
    Franz. This stemmer is also based on the work of Aldo Capini, see [Lingua::Stem::It](https://www.chedong.com/phpMan.php/perldoc/Lingua%3A%3AStem%3A%3AIt/markdown).

## METHODS
### stem
        Stems a list of passed words. Returns an anonymous list reference to the stemmed words.

        Example:

          my $stemmed_words = [Lingua::Stem::Ru::stem](https://www.chedong.com/phpMan.php/perldoc/Lingua%3A%3AStem%3A%3ARu%3A%3Astem/markdown)({ -words => \@words,
                                                      -locale => 'ru',
                                                  -exceptions => \%exceptions,
                                  });

### stem_word
        Stems a single word and returns the stem directly.

        Example:

          my $stem = [Lingua::Stem::Ru::stem_word](https://www.chedong.com/phpMan.php/perldoc/Lingua%3A%3AStem%3A%3ARu%3A%3Astemword/markdown)( $word );

### stem_caching
        Sets the level of stem caching.

        '0' means 'no caching'. This is the default level.

        '1' means 'cache per run'. This caches stemming results during a single call to 'stem'.

        '2' means 'cache indefinitely'. This caches stemming results until either the process exits
        or the 'clear_stem_cache' method is called.

    clear_stem_cache;
        Clears the cache of stemmed words

  EXPORT
    None by default.

## AUTHOR
    Aleksandr Guidrevitch <<pillgrim@mail.ru>>

## REPOSITORY
    <<https://github.com/neilb/Lingua-Stem-Ru>>

## SEE ALSO
    [Lingua::Stem](https://www.chedong.com/phpMan.php/perldoc/Lingua%3A%3AStem/markdown)
        provides an interface for some other pure Perl stemmers available on CPAN, including
        [Lingua::Stem::Ru](https://www.chedong.com/phpMan.php/perldoc/Lingua%3A%3AStem%3A%3ARu/markdown)

    [Lingua::Stem::Snowball](https://www.chedong.com/phpMan.php/perldoc/Lingua%3A%3AStem%3A%3ASnowball/markdown)
    [Lingua::Stem::Any](https://www.chedong.com/phpMan.php/perldoc/Lingua%3A%3AStem%3A%3AAny/markdown)

## COPYRIGHT AND LICENSE
    Copyright (C) 2003 by Aldo Calpini <<dada@perl.it>>

    Copyright (C) 2004 by Aleksandr Guidrevitch <<pillgrim@mail.ru>>

    This is free software; you can redistribute it and/or modify it under the same terms as the Perl
    5 programming language system itself.

