Lucy::Analysis::PolyAnalyzer - Multiple Analyzers in series.
my $schema = Lucy::Plan::Schema->new; my $polyanalyzer = Lucy::Analysis::PolyAnalyzer->new( analyzers => \@analyzers, ); my $type = Lucy::Plan::FullTextType->new( analyzer => $polyanalyzer, ); $schema->spec_field( name => 'title', type => $type ); $schema->spec_field( name => 'content', type => $type );
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 a CaseFolder, a RegexTokenizer, and a SnowballStemmer will be generated for you.
The language parameter is DEPRECATED. Use EasyAnalyzer instead.
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,
my $tokenizer = Lucy::Analysis::StandardTokenizer->new; my $normalizer = Lucy::Analysis::Normalizer->new; my $stemmer = Lucy::Analysis::SnowballStemmer->new( language => 'en' ); my $polyanalyzer = Lucy::Analysis::PolyAnalyzer->new( analyzers => [ $tokenizer, $normalizer, $stemmer, ], );
Create a new PolyAnalyzer.
my $arrayref = $poly_analyzer->get_analyzers();
Getter for “analyzers” member.
my $inversion = $poly_analyzer->transform($inversion);
Take a single Inversion as input and returns an Inversion, either the same one (presumably transformed in some way), or a new one.
Lucy::Analysis::PolyAnalyzer isa Lucy::Analysis::Analyzer isa Clownfish::Obj.