Class Ferret::Search::RangeQuery
In: ext/r_search.c
Parent: Ferret::Search::Query

Summary

RangeQuery is used to find documents with terms in a range. RangeQuerys are usually used on untokenized fields like date fields or number fields.

Example

To find all documents written between January 1st 2006 and January 26th 2006 inclusive you would write the query like this;

  query = RangeQuery.new(:create_date, :>= "20060101", :<= "20060126")

Methods

new  

Public Class methods

Create a new RangeQuery on field field. There are two ways to build a range query. With the old-style options; +:lower+, +:upper+, +:include_lower+ and +:include_upper+ or the new style options; +:<+, +:<=+, +:>+ and +:>=+. The options’ names should speak for themselves. In the old-style options, limits are inclusive by default.

Examples

  q = RangeQuery.new(:date, :lower => "200501", :include_lower => false)
  # is equivalent to
  q = RangeQuery.new(:date, :< => "200501")
  # is equivalent to
  q = RangeQuery.new(:date, :lower_exclusive => "200501")

  q = RangeQuery.new(:date, :lower => "200501", :upper => 200502)
  # is equivalent to
  q = RangeQuery.new(:date, :>= => "200501", :<= => 200502)

[Validate]