Basic Usage

Finds documents containing a term that falls within a specified range of values.
SELECT description, rating, category
FROM mock_items
WHERE id @@@ paradedb.range(
    field => 'rating',
    range => int4range(1, 3, '[)')
);
field
required
Specifies the field within the document to search for the term.
range
required
A Postgres range specifying the range of values to match the field against. Range types include int4range, int8range, daterange, tsrange, and tstzrange.

Inclusive vs. Exclusive Range

The range argument accepts a Postgres range type. An inclusive lower bound is represented by [ while an exclusive lower bound is represented by (. Likewise, an inclusive upper bound is represented by ], while an exclusive upper bound is represented by ). For instance, the following query selects ratings between 1 and 3, inclusive.
SELECT description, rating, category
FROM mock_items
WHERE id @@@ paradedb.range(
    field => 'rating',
    range => int4range(1, 3, '[]')
);

Unbounded Range

Passing NULL into either the upper or lower bound causes Postgres to treat the upper/lower bounds as positive/negative infinity.
SELECT description, rating, category
FROM mock_items
WHERE id @@@ paradedb.range(
    field => 'rating',
    range => int4range(1, NULL, '[)')
);