Scroll to navigation

Lucy::Search::RangeQuery(3pm) User Contributed Perl Documentation Lucy::Search::RangeQuery(3pm)

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 Lucy::Object::Obj.

2017-08-02 perl v5.26.0