elasticsearch/docs/reference/modules/indices/fielddata.asciidoc
Wylie Conlon 10ee0f2878
Clarify field data cache behavior in docs (#64375)
* Clarify that field data cache includes global ordinals
* Describe that the cache should be cleared once the limit is reached
* Clarify that the `_id` field does not supported aggregations anymore
* Fold the `fielddata` mapping parameter page into the `text field docs
* Improve cross-linking
2020-11-20 13:53:23 -08:00

35 lines
1.6 KiB
Text

[[modules-fielddata]]
=== Field data cache settings
The field data cache contains <<fielddata-mapping-param, field data>> and <<eager-global-ordinals, global ordinals>>,
which are both used to support aggregations on certain field types.
Since these are on-heap data structures, it is important to monitor the cache's use.
[discrete]
[[fielddata-sizing]]
==== Cache size
The entries in the cache are expensive to build, so the default behavior is
to keep the cache loaded in memory. The default cache size is unlimited,
causing the cache to grow until it reaches the limit set by the <<fielddata-circuit-breaker, field data circuit breaker>>. This behavior can be configured.
If the cache size limit is set, the cache will begin clearing the least-recently-updated
entries in the cache. This setting can automatically avoid the circuit breaker limit,
at the cost of rebuilding the cache as needed.
If the circuit breaker limit is reached, further requests that increase the cache
size will be prevented. In this case you should manually <<indices-clearcache, clear the cache>>.
`indices.fielddata.cache.size`::
(<<static-cluster-setting,Static>>)
The max size of the field data cache, eg `38%` of node heap space, or an
absolute value, eg `12GB`. Defaults to unbounded. If you choose to set it,
it should be smaller than <<fielddata-circuit-breaker>> limit.
[discrete]
[[fielddata-monitoring]]
==== Monitoring field data
You can monitor memory usage for field data as well as the field data circuit
breaker using
the <<cluster-nodes-stats,nodes stats API>> or the <<cat-fielddata,cat fielddata API>>.