WARNING: Version 0.90 of Elasticsearch has passed its EOL date.
This documentation is no longer being maintained and may be removed. If you are running this version, we strongly advise you to upgrade. For the latest information, see the current release documentation.
Cache
editCache
editThere are different caching inner modules associated with an index. They
include filter
and others.
Filter Cache
editThe filter cache is responsible for caching the results of filters (used
in the query). The default implementation of a filter cache (and the one
recommended to use in almost all cases) is the node
filter cache type.
Node Filter Cache
editThe node
filter cache may be configured to use either a percentage of
the total memory allocated to the process or an specific amount of
memory. All shards present on a node share a single node cache (thats
why its called node`
). The cache implements an LRU eviction policy:
when a cache becomes full, the least recently used data is evicted to
make way for new data.
The setting that allows one to control the memory size for the filter
cache is indices.cache.filter.size
, which defaults to 20%
. Note,
this is not an index level setting but a node level setting (can be
configured in the node configuration).
indices.cache.filter.size
can accept either a percentage value, like
30%
, or an exact value, like 512mb
.
Index Filter Cache
editA filter cache that exists on the index level (on each node). Generally,
not recommended for use since its memory usage depends on which shards
are allocated on each node and its hard to predict it. The types are:
resident
, soft
and weak
.
All types support the following settings:
Setting | Description |
---|---|
|
The max size (count, not byte size) of
the cache (per search segment in a shard). Defaults to not set ( |
|
A time based setting that expires filters
after a certain time of inactivity. Defaults to |