# Auto-generated file -- DO NOT EDIT!!!!!

=head1 NAME

KinoSearch::Analysis::PolyAnalyzer - Multiple Analyzers in series.

=head1 SYNOPSIS

    my $schema = KinoSearch::Schema->new;
    my $polyanalyzer = KinoSearch::Analysis::PolyAnalyzer->new( 
        language => 'en',
    );
    my $type = KinoSearch::FieldType::FullTextType->new(
        analyzer => $polyanalyzer,
    );
    $schema->spec_field( name => 'title',   type => $type );
    $schema->spec_field( name => 'content', type => $type );



=head1 DESCRIPTION

A PolyAnalyzer is a series of L<Analyzers|KinoSearch::Analysis::Analyzer>,
each of which will be called upon to "analyze" text in turn.  You can
either provide the Analyzers yourself, or you can specify a supported
language, in which case a PolyAnalyzer consisting of a
L<CaseFolder|KinoSearch::Analysis::CaseFolder>, a
L<Tokenizer|KinoSearch::Analysis::Tokenizer>, and a
L<Stemmer|KinoSearch::Analysis::Stemmer> will be generated for you.  

Supported languages:

    en => English,
    da => Danish,
    de => German,
    es => Spanish,
    fi => Finnish,
    fr => French,
    hu => Hungarian,
    it => Italian,
    nl => Dutch,
    no => Norwegian,
    pt => Portuguese,
    ro => Romanian,
    ru => Russian,
    sv => Swedish,
    tr => Turkish,

=head1 CONSTRUCTORS

=head2 new( I<[labeled params]> )

    my $analyzer = KinoSearch::Analysis::PolyAnalyzer->new(
        language  => 'es',
    );
    
    # or...

    my $case_folder  = KinoSearch::Analysis::CaseFolder->new;
    my $tokenizer    = KinoSearch::Analysis::Tokenizer->new;
    my $stemmer      = KinoSearch::Analysis::Stemmer->new( language => 'en' );
    my $polyanalyzer = KinoSearch::Analysis::PolyAnalyzer->new(
        analyzers => [ $case_folder, $whitespace_tokenizer, $stemmer, ], );

=over

=item *

B<language> - An ISO code from the list of supported languages.

=item *

B<analyzers> - An array of Analyzers.  The order of the analyzers
matters.  Don't put a Stemmer before a Tokenizer (can't stem whole
documents or paragraphs -- just individual words), or a Stopalizer
after a Stemmer (stemmed words, e.g. "themselv", will not appear in a
stoplist).  In general, the sequence should be: normalize, tokenize,
stopalize, stem.

=back



=head1 METHODS

=head2 get_analyzers()

Getter for "analyzers" member.





=head1 INHERITANCE

KinoSearch::Analysis::PolyAnalyzer isa L<KinoSearch::Analysis::Analyzer> isa L<KinoSearch::Obj>.


=head1 COPYRIGHT

Copyright 2005-2009 Marvin Humphrey

=head1 LICENSE, DISCLAIMER, BUGS, etc.

See L<KinoSearch> version 0.30.

=cut