IN_RANGE()
Match documents where the attribute at path is greater than (or equal to) low and less than (or equal to) high.
Syntax
IN_RANGE(path, low, high, includeLow, includeHigh)
The values low and high can be numbers or strings, but each value must have the same data type.
| Key | Type | Description | 
|---|---|---|
| path | attribute path expression | The path to the attribute in the document. | 
| low | number or string | Minimum range value. | 
| high | number or string | Maximum range value. | 
| includeLow | bool | If true, the value specified inlowis included in the range. | 
| includeHigh | bool | If false, the value specified inhighis included in the range. | 
The alphabetical order of characters is not taken into account by search. Range queries in SEARCH operations against views do not follow the language rules as defined by a locale analyzer.
Example 1
This query returns documents with the attribute value between and including 3 to 5:
FOR doc IN viewName
  SEARCH IN_RANGE(doc.value, 3, 5, true, true)
  RETURN doc.value
This also matches documents which have an array of numbers as value attribute where at least one number is within the specified boundaries.
Example 2
You can also use string boundaries and a text analyzer to match documents which have at least one token within the specified character range:
FOR doc IN valView
  SEARCH ANALYZER(IN_RANGE(doc.value, "a","f", true, false), "text_en")
  RETURN doc
Assume a collection contains the following values:
{ "text": "foo bar" }
{ "text": "foo" }
{ "text": "bar" }
{ "text": "foo baz" }
{ "text": "baz" }
The previous example returns bar and foo bar because b is within the specified range. However, foo is excluded because f is excluded by includehigh.