Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

plucene::search::booleanquery(3pm) [debian man page]

Plucene::Search::BooleanQuery(3pm)			User Contributed Perl Documentation			Plucene::Search::BooleanQuery(3pm)

NAME
Plucene::Search::BooleanQuery - a boolean query SYNOPSIS
# isa Plucene::Search::Query $query->add(Plucene::Search::Query $query, $required, $prohibited); $query->normalize($norm); my @clauses = $query->clauses; my $sum_sq_weights = $query->sum_squared_weights($searcher); my $as_string = $query->to_string($field); DESCRIPTION
A query that matches documents matching boolean combinations of other queries, typically TermQuerys or PhraseQuery A boolean query represents a composite query that may contains subqueries of arbitrary nesting level and with composition rules such as 'and', 'or' or 'not'. Boolean queries are represented in Plucene API by instances of the BooleanQuery class. Each BooleanQuery object contains a list of subqueries that are linked using instances of the adaptor class BooleanClause. The subqueries may be of any Query type such as term query, phrase query and nested boolean queries. Each sub query of a boolean query has two binary qualifiers that controls how its super query is matched. These qualifiers are o prohibited - when this flag is set, the matching status of the subquery is negated such that the query is considered as a match only when the sub query does not match. o required - when this flag is set, the sub query is required to match (or not to match if its 'prohibited' flag is set) for the super query to match. This this is a necessary but not sufficient condition for the super query to match. METHODS
add $query->add(Plucene::Search::Query $query, $required, $prohibited); Adds a clause to a boolean query. Clauses may be: required which means that documents which do not match this sub-query will not match the boolean query; prohibited which means that documents which do match this sub-query will not match the boolean query; or neither, in which case matched documents are neither prohibited from nor required to match the sub-query. It is an error to specify a clause as both required and prohibited. add_clause $self->add_clause(Plucene::Search::BooleanClause $c); Adds an already-formed clause onto the query. clauses my @clauses = $query->clauses; sum_squared_weights my $sum_sq_weights = $query->sum_squared_weights($searcher); normalize $query->normalize($norm); to_string my $as_string = $query->to_string($field); perl v5.12.4 2011-08-14 Plucene::Search::BooleanQuery(3pm)

Check Out this Related Man Page

Plucene(3pm)						User Contributed Perl Documentation					      Plucene(3pm)

NAME
Plucene - A Perl port of the Lucene search engine SYNOPSIS
Create Documents by adding Fields: my $doc = Plucene::Document->new; $doc->add(Plucene::Document::Field->Text(content => $content)); $doc->add(Plucene::Document::Field->Text(author => "Your Name")); Choose Your Analyser and add documents to an Index Writer my $analyzer = Plucene::Analysis::SimpleAnalyzer->new(); my $writer = Plucene::Index::Writer->new("my_index", $analyzer, 1); $writer->add_document($doc); undef $writer; # close Search by building a Query my $parser = Plucene::QueryParser->new({ analyzer => Plucene::Analysis::SimpleAnalyzer->new(), default => "text" # Default field for non-specified queries }); my $query = $parser->parse('author:"Your Name"'); Then pass the Query to an IndexSearcher and collect hits my $searcher = Plucene::Search::IndexSearcher->new("my_index"); my @docs; my $hc = Plucene::Search::HitCollector->new(collect => sub { my ($self, $doc, $score) = @_; push @docs, $searcher->doc($doc); }); $searcher->search_hc($query => $hc); DESCRIPTION
Plucene is a fully-featured and highly customizable search engine toolkit based on the Lucene API. (<http://jakarta.apache.org/lucene>) It is not, in and of itself, a functional search engine - you are expected to subclass and tie all the pieces together to suit your own needs. The synopsis above gives a rough indication of how to use the engine in simple cases. See Plucene::Simple for one example of tying it all together. The tests shipped with Plucene provide a variety of other examples of how use this. EXTENSIONS
Plucene comes shipped with some default Analyzers. However it is expected that users will want to create Analyzers to meet their own needs. To avoid namespace corruption, anyone releasing such Analyzers to CPAN (which is encouraged!) should place them in the namespace Plucene::Plugin::Analyzer::. DOCUMENTATION
Although most of the Perl modules should be well documented, the Perl API mirrors Lucene's to such an extent that reading Lucene's documentation will give you a good idea of how to do more advanced stuff with Plucene. See particularly the ONJava articles <http://www.onjava.com/pub/a/onjava/2003/01/15/lucene.html> and <http://www.onjava.com/pub/a/onjava/2003/03/05/lucene.html>. These are brilliant introductions to the concepts surrounding Lucene, how it works, and how to extend it. COMPATIBILITY
For the most part Lucene and Plucene indexes are created in the same manner. However, due to current implementation details, the indexes will generally not be compatible. It should theoretically be possible to convert index files in either direction between Plucene and Lucene, but no tools are currently provided to do so. As Plucene is still undergoing development, we cannot guarantee index format compatibility across releases. If you're using Plucene in production code, you need to ensure that you can recreate the indexes. MISSING FEATURES
The following features have not yet been fully implemented: o Wildcard searches o Range searches MAILING LIST
Bug reports, patches, queries, discussion etc should be addressed to the mailing list. More information on the list can be found at: <http://www.kasei.com/mailman/listinfo/plucene> AUTHORS
Initially ported by Simon Cozens and Marc Kerr. Currently maintained by Tony Bowden and Marty Pauley. Original Java Lucene by Doug Cutting and others. THANKS
The initial development and ongoing maintenance of Plucene has been funded and supported by Kasei <http://www.kasei.com/> LICENSE
This software is licensed under the same terms as Perl itself. perl v5.12.4 2011-08-14 Plucene(3pm)
Man Page