FreeBSD Manual Pages
Plucene::Plugin::AnalyUser:ContributedePerluDon::Analyzer::SnowballAnalyzer(3) NAME Plucene::Plugin::Analyzer::SnowballAnalyzer - Stemmed analyzer with Lingua::Stem::Snowball and Lingua::StopWords DESCRIPTION Filters StandardTokenizer with SnowballAnalyzer. Change $Plucene::Plugin::Analysis::SnowballAnalyzer::LANG to the language of your choice. (see Lingua::Stem::Snowball documentation for all available languages). EXAMPLE #!/usr/bin/perl use strict; use Plucene; use Plucene::Index::Writer; use Plucene::Plugin::Analyzer::SnowballAnalyzer; use Plucene::Search::IndexSearcher; use Plucene::QueryParser; $Plucene::Plugin::Analyzer::SnowballAnalyzer::LANG = 'fr'; my $db = "plucene_index"; my $writer = Plucene::Index::Writer->new($db, Plucene::Plugin::Analyzer::SnowballAnalyzer->new(), 1); $doc = Plucene::Document->new(); $doc->add(Plucene::Document::Field->Keyword(filename => 'test2.html')); $doc->add(Plucene::Document::Field->Text(title => 'Another file title')); $doc->add(Plucene::Document::Field->UnStored(content => 'Nothing HERE. la folie...')); $writer->add_document($doc); $doc = Plucene::Document->new(); $doc->add(Plucene::Document::Field->Keyword(filename => 'test2.html')); $doc->add(Plucene::Document::Field->Text(title => 'Fichier en franA<section>ais')); $doc->add(Plucene::Document::Field->UnStored(content => 'Vive le franA<section>ais! Je t\'aime tendrement...')); $writer->add_document($doc); $writer->optimize; my $searcher = Plucene::Search::IndexSearcher->new($db); my $parser = Plucene::QueryParser->new({ analyzer => Plucene::Plugin::Analyzer::SnowballAnalyzer->new(), default => 'content', }); my $parsed = $parser->parse("la +france +TENDRE title:fichier"); my @docs; my $hc = Plucene::Search::HitCollector->new( collect => sub { my ($self, $doc, $score) = @_; my $res = eval { $searcher->doc($doc); }; push @docs, $res if res; }, ); $searcher->search_hc($parsed, $hc); my @results = map {{ filename => $_->get('filename')->string, title => $_->get('title')->string, }} @docs; print "Results:\n"; foreach my $result (@results) { print "\t$result->{title} ($result->{filename})\n"; } AUTHOR Fabien POTENCIER, "fabpot@cpan.org" LICENSE You may distribute this code under the same terms as Plucene himself. POD ERRORS Hey! The above document had some coding errors, which are explained below: Around line 51: Non-ASCII character seen before =encoding in 'franA<section>ais'));'. Assuming CP1252 perl v5.32.0 Plucene::Plugin::Analyzer::SnowballAnalyzer(3)
NAME | DESCRIPTION | EXAMPLE | AUTHOR | LICENSE | POD ERRORS
Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=Plucene::Plugin::Analyzer::SnowballAnalyzer&sektion=3&manpath=FreeBSD+12.2-RELEASE+and+Ports>