NAME
Lucy::Search::RangeQuery - Match a range of values.
SYNOPSIS
# 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 );
...
DESCRIPTION
RangeQuery matches documents where the value for a particular field falls within a given range.
CONSTRUCTORS
new
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 lower_term
or upper_term
.
field - The name of a
sortable
field.lower_term - Lower delimiter. If not supplied, all values less than
upper_term
will pass.upper_term - Upper delimiter. If not supplied, all values greater than
lower_term
will pass.include_lower - Indicates whether docs which match
lower_term
should be included in the results.include_upper - Indicates whether docs which match
upper_term
should be included in the results.
METHODS
make_compiler
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.
INHERITANCE
Lucy::Search::RangeQuery isa Lucy::Search::Query isa Clownfish::Obj.