55 lines
1.5 KiB
Plaintext
55 lines
1.5 KiB
Plaintext
[[query-dsl-range-query]]
|
|
=== Range Query
|
|
|
|
Matches documents with fields that have terms within a certain range.
|
|
The type of the Lucene query depends on the field type, for `string`
|
|
fields, the `TermRangeQuery`, while for number/date fields, the query is
|
|
a `NumericRangeQuery`. The following example returns all documents where
|
|
`age` is between `10` and `20`:
|
|
|
|
[source,js]
|
|
--------------------------------------------------
|
|
{
|
|
"range" : {
|
|
"age" : {
|
|
"from" : 10,
|
|
"to" : 20,
|
|
"include_lower" : true,
|
|
"include_upper": false,
|
|
"boost" : 2.0
|
|
}
|
|
}
|
|
}
|
|
--------------------------------------------------
|
|
|
|
The `range` query top level parameters include:
|
|
|
|
[cols="<,<",options="header",]
|
|
|=======================================================================
|
|
|Name |Description
|
|
|`from` |The lower bound. Defaults to start from the first.
|
|
|
|
|`to` |The upper bound. Defaults to unbounded.
|
|
|
|
|`include_lower` |Should the first from (if set) be inclusive or not.
|
|
Defaults to `true`
|
|
|
|
|`include_upper` |Should the last to (if set) be inclusive or not.
|
|
Defaults to `true`.
|
|
|
|
|`gt` |Same as setting `from` to the value, and `include_lower` to
|
|
`false`.
|
|
|
|
|`gte` |Same as setting `from` to the value,and `include_lower` to
|
|
`true`.
|
|
|
|
|`lt` |Same as setting `to` to the value, and `include_upper` to
|
|
`false`.
|
|
|
|
|`lte` |Same as setting `to` to the value, and `include_upper` to
|
|
`true`.
|
|
|
|
|`boost` |Sets the boost value of the query. Defaults to `1.0`.
|
|
|=======================================================================
|
|
|