# ***********************************************
# 
# !!!! DO NOT EDIT !!!!
# 
# This file was auto-generated by Build.PL.
# 
# ***********************************************
# 
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements.  See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License.  You may obtain a copy of the License at
# 
#     http://www.apache.org/licenses/LICENSE-2.0
# 
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

=encoding utf8

=head1 NAME

Lucy::Analysis::SnowballStemmer - Reduce related words to a shared root.

=head1 SYNOPSIS

    my $stemmer = Lucy::Analysis::SnowballStemmer->new( language => 'es' );
    
    my $polyanalyzer = Lucy::Analysis::PolyAnalyzer->new(
        analyzers => [ $tokenizer, $normalizer, $stemmer ],
    );

This class is a wrapper around the Snowball stemming library, so it supports
the same languages.  

=head1 DESCRIPTION

SnowballStemmer is an L<Analyzer|Lucy::Analysis::Analyzer> which reduces
related words to a root form (using the “Snowball” stemming library).  For
instance, “horse”, “horses”, and “horsing” all become “hors” – so that a
search for ‘horse’ will also match documents containing ‘horses’ and
‘horsing’.

=head1 CONSTRUCTORS

=head2 new

    my $stemmer = Lucy::Analysis::SnowballStemmer->new( language => 'es' );

Create a new SnowballStemmer.

=over

=item *

B<language> - A two-letter ISO code identifying a language supported
by Snowball.

=back

=head1 METHODS

=head2 transform

    my $inversion = $snowball_stemmer->transform($inversion);

Take a single L<Inversion|Lucy::Analysis::Inversion> as input
and returns an Inversion, either the same one (presumably transformed
in some way), or a new one.

=over

=item *

B<inversion> - An inversion.

=back

=head1 INHERITANCE

Lucy::Analysis::SnowballStemmer isa L<Lucy::Analysis::Analyzer> isa Clownfish::Obj.

=cut