Class | Ferret::Search::RangeQuery |
In: |
ext/r_search.c
|
Parent: | Ferret::Search::Query |
RangeQuery is used to find documents with terms in a range. RangeQuerys are usually used on untokenized fields like date fields or number fields.
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")
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.
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)