The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

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( [labeled params] )

    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
    );

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.

INHERITANCE

Lucy::Search::RangeQuery isa Lucy::Search::Query isa Clownfish::Obj.