Provided by: libkinosearch1-perl_1.00-1build3_amd64 bug

NAME

       KinoSearch1::Search::BooleanQuery - match boolean combinations of Queries

SYNOPSIS

           my $bool_query = KinoSearch1::Search::BooleanQuery->new;
           $bool_query->add_clause( query => $term_query, occur => 'MUST' );
           my $hits = $searcher->search( query => $bool_query );

DESCRIPTION

       BooleanQueries are super-Query objects which match boolean combinations of other Queries.

       One way of producing a BooleanQuery is to feed a query string along the lines of "this AND
       NOT that" to a QueryParser object:

           my $bool_query = $query_parser->parse( 'this AND NOT that' );

       It's also possible to achieve the same end by manually constructing the query piece by
       piece:

           my $bool_query = KinoSearch1::Search::BooleanQuery->new;

           my $this_query = KinoSearch1::Search::TermQuery->new(
               term => KinoSearch1::Index::Term->new( 'bodytext', 'this' ),
           );
           $bool_query->add_clause( query => $this_query, occur => 'MUST' );

           my $that_query = KinoSearch1::Search::TermQuery->new(
               term => KinoSearch1::Index::Term->new( 'bodytext', 'that' ),
           );
           $bool_query->add_clause( query => $that_query, occur => 'MUST_NOT' );

       QueryParser objects and hand-rolled Queries can work together:

           my $general_query = $query_parser->parse($q);
           my $news_only     = KinoSearch1::Search::TermQuery->new(
               term => KinoSearch1::Index::Term->new( 'category', 'news' );
           );
           $bool_query->add_clause( query => $general_query, occur => 'MUST' );
           $bool_query->add_clause( query => $news_only,     occur => 'MUST' );

METHODS

   new
           my $bool_query = KinoSearch1::Search::BooleanQuery->new;

       Constructor. Takes no arguments.

   add_clause
           $bool_query->add_clause(
               query => $query, # required
               occur => 'MUST', # default: 'SHOULD'
           );

       Add a clause to the BooleanQuery.  Takes hash-style parameters:

       •   query - an object which belongs to a subclass of KinoSearch1::Search::Query.

       •   occur - must be one of three possible values: 'SHOULD', 'MUST', or 'MUST_NOT'.

COPYRIGHT

       Copyright 2005-2010 Marvin Humphrey

LICENSE, DISCLAIMER, BUGS, etc.

       See KinoSearch1 version 1.00.