mirror of
https://github.com/elastic/elasticsearch.git
synced 2025-06-30 10:23:41 -04:00
27 lines
No EOL
1.5 KiB
Text
27 lines
No EOL
1.5 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.
|
|
|
|
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>>.
|
|
|
|
TIP: 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>>.
|
|
|
|
`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. |