NAME

Lucy::Search::ANDQuery - Intersect multiple result sets.

SYNOPSIS

my $foo_and_bar_query = Lucy::Search::ANDQuery->new(
    children => [ $foo_query, $bar_query ],
);
my $hits = $searcher->hits( query => $foo_and_bar_query );
...

DESCRIPTION

ANDQuery is a composite Query which matches only when all of its children match, so its result set is the intersection of their result sets. Documents which match receive a summed score.

CONSTRUCTORS

new

my $foo_and_bar_query = Lucy::Search::ANDQuery->new(
    children => [ $foo_query, $bar_query ],
);

Create a new ANDQuery.

  • children - An array of child Queries.

METHODS

make_compiler

my $compiler = $and_query->make_compiler(
    searcher    => $searcher     # required
    boost       => $boost        # required
    subordinate => $subordinate  # default: false
);

Abstract factory method returning a Compiler derived from this Query.

  • searcher - A Searcher.

  • boost - A scoring multiplier.

  • subordinate - Indicates whether the Query is a subquery (as opposed to a top-level query). If false, the implementation must invoke normalize() on the newly minted Compiler object before returning it.

INHERITANCE

Lucy::Search::ANDQuery isa Lucy::Search::PolyQuery isa Lucy::Search::Query isa Clownfish::Obj.