mirror of
https://github.com/elastic/elasticsearch.git
synced 2025-04-25 07:37:19 -04:00
* 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
35 lines
1.6 KiB
Text
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>>.
|