27 Oct 2007 19:46:10 UTC
- Development release
- Distribution: KinoSearch
- Source (raw)
- Browse (raw)
- How to Contribute
- Issues (5)
- Testers (21 / 5 / 2)
- KwaliteeBus factor: 0
- License: perl_5
- Activity24 month
- Download (460.82KB)
- MetaCPAN Explorer
- Subscribe to distribution
- This version
- Latest versionCREAMYG Marvin Humphreyand 1 contributors
- Marvin Humphrey <marvin at rectangular dot com>
KinoSearch::Analysis::PolyAnalyzer - Multiple analyzers in series.
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, ], );
A PolyAnalyzer is a series of Analyzers -- objects which inherit from 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 an LCNormalizer, a Tokenizer, and a Stemmer will be generated for you.
en => English, da => Danish, de => German, es => Spanish, fi => Finnish, fr => French, it => Italian, nl => Dutch, no => Norwegian, pt => Portuguese, ru => Russian, sv => Swedish,
Constructor. Takes two possible hash-style parameters. If the parameter
analyzersis specified, it will override
languageand no attempt will be made to generate a default set of Analyzers.
language - Must be an ISO code from the list of supported languages.
analyzers - Must be an arrayref. Each element in the array must inherit from KinoSearch::Analysis::Analyzer. 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.
Copyright 2005-2007 Marvin Humphrey
See KinoSearch version 0.20.