NAME

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

SYNOPSIS

    package MySchema;
    use base qw( KinoSearch::Schema );
    
    sub analyzer { 
        KinoSearch::Analysis::PolyAnalyzer->new( language  => 'en' ); 
    }

DESCRIPTION

A PolyAnalyzer is a series of Analyzers, 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 an LCNormalizer, a Tokenizer, and a 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,

CONSTRUCTOR

new( [labeled params] )

    my $analyzer = KinoSearch::Analysis::PolyAnalyzer->new(
        language  => 'es',
    );
    
    # or...
    
    my $lc_normalizer = KinoSearch::Analysis::LCNormalizer->new;
    my $tokenizer     = KinoSearch::Analysis::Tokenizer->new;
    my $stemmer       = KinoSearch::Analysis::Stemmer->new( language => 'en' );
    my $polyanalyzer = KinoSearch::Analysis::PolyAnalyzer->new(
        analyzers => [
            $lc_normalizer,
            $whitespace_tokenizer,
            $stemmer,
        ],
    );
  • language - An ISO code from the list of supported languages.
  • 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.

INHERITANCE

KinoSearch::Analysis::PolyAnalyzer isa KinoSearch::Analysis::Analyzer isa KinoSearch::Obj.

COPYRIGHT

Copyright 2005-2008 Marvin Humphrey

LICENSE, DISCLAIMER, BUGS, etc.

See KinoSearch version 0.20.

Copyright © 2004-2008 Marvin Humphrey