Lucy::Search::RequiredOptionalQuery - Join results for two Queries, one required, one optional.
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 ); ...
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.
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.
my $query = $required_optional_query->get_required_query();
Getter for the required Query.
Setter for the required Query.
my $query = $required_optional_query->get_optional_query();
Getter for the optional Query.
Setter for the optional Query.
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.