NAME
Lucy::Search::RequiredOptionalQuery - Join results for two Queries, one required, one optional.
SYNOPSIS
my $foo_and_maybe_bar = Lucy::Search::RequiredOptionalQuery->new(
required_query => $foo_query,
optional_query => $bar_query,
);
my $hits = $searcher->hits( query => $foo_and_maybe_bar );
...
DESCRIPTION
RequiredOptionalQuery joins the result sets of one Query which MUST match, and one Query which SHOULD match. When only the required Query matches, its score is passed along; when both match, the scores are summed.
CONSTRUCTORS
new
my $reqopt_query = Lucy::Search::RequiredOptionalQuery->new(
required_query => $foo_query, # required
optional_query => $bar_query, # required
);
Create a new RequiredOptionalQuery.
required_query - Query must must match.
optional_query - Query which should match.
METHODS
get_required_query
my $query = $required_optional_query->get_required_query();
Getter for the required Query.
set_required_query
$required_optional_query->set_required_query($required_query);
Setter for the required Query.
get_optional_query
my $query = $required_optional_query->get_optional_query();
Getter for the optional Query.
set_optional_query
$required_optional_query->set_optional_query($optional_query);
Setter for the optional Query.
make_compiler
my $compiler = $required_optional_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::RequiredOptionalQuery isa Lucy::Search::PolyQuery isa Lucy::Search::Query isa Clownfish::Obj.