precision_stepedit
Most numeric datatypes index extra terms representing numeric
ranges for each number to make range queries
faster. For instance, this range query:
"range": {
"number": {
"gte": 0
"lte": 321
}
}might be executed internally as a terms query that
looks something like this:
"terms": {
"number": [
"0-255",
"256-319"
"320",
"321"
]
}These extra terms greatly reduce the number of terms that have to be examined, at the cost of increased disk space.
The default value for precision_step depends on the type of the numeric field:
|
|
|
|
|
|
|
|
|
|
|
|
The value of the precision_step setting indicates the number of bits that
should be compressed into an extra term. A long value consists of 64 bits,
so a precision_step of 16 results in the following terms:
|
Bits 0-15 |
|
|
Bits 0-31 |
|
|
Bits 0-47 |
|
|
Bits 0-63 |
|