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.