Lucy::Search::RangeQuery - Match a range of values.
# Match all articles by "Foo" published since the year 2000. my $range_query = Lucy::Search::RangeQuery->new( field => 'publication_date', lower_term => '2000-01-01', include_lower => 1, ); my $author_query = Lucy::Search::TermQuery->new( field => 'author_last_name', text => 'Foo', ); my $and_query = Lucy::Search::ANDQuery->new( children => [ $range_query, $author_query ], ); my $hits = $searcher->hits( query => $and_query ); ...
RangeQuery matches documents where the value for a particular field falls within a given range.
my $range_query = Lucy::Search::RangeQuery->new( field => 'product_number', # required lower_term => '003', # see below upper_term => '060', # see below include_lower => 0, # default true include_upper => 0, # default true );
Create a new RangeQuery.
Takes 5 parameters;
field is required, as is at least one of either
field - The name of a
lower_term - Lower delimiter. If not supplied, all values less than
upper_term - Upper delimiter. If not supplied, all values greater than
include_lower - Indicates whether docs which match
lower_termshould be included in the results.
include_upper - Indicates whether docs which match
upper_termshould be included in the results.
my $compiler = $range_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.
Lucy::Search::RangeQuery isa Lucy::Search::Query isa Clownfish::Obj.