[DOCS] Expands the documentation of Node Query Cache (#51105)

Co-authored-by: debadair <debadair@elastic.co>
This commit is contained in:
István Zoltán Szabó 2020-01-20 11:11:57 +01:00
parent 4b31ad1c0c
commit 424b4ed4ea

View File

@ -1,27 +1,34 @@
[[query-cache]]
=== Node Query Cache
The query cache is responsible for caching the results of queries.
There is one queries cache per node that is shared by all shards.
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.
It is not possible to look at the contents being cached.
The results of queries used in the filter context are cached in the node query
cache for fast lookup. There is one queries cache per node that is shared by all
shards. The cache uses an LRU eviction policy: when the cache is full, the least
recently used query results are evicted to make way for new data. You cannot
inspect the contents of the query cache.
The query cache only caches queries which are being used in a filter context.
Term queries and queries used outside of a filter context are not eligible for
caching.
By default, the cache holds a maximum of 10000 queries in up to 10% of the total
heap space. To determine if a query is eligible for caching, {es} maintains a
query history to track occurrences.
Caching is done on a per segment basis if a segment contains at least 10000
documents and the segment has at least 3% of the total documents of a shard.
Because caching is per segment, merging segments can invalidate cached queries.
The following setting is _static_ and must be configured on every data node in
the cluster:
`indices.queries.cache.size`::
Controls the memory size for the filter cache , defaults to `10%`. Accepts
either a percentage value, like `5%`, or an exact value, like `512mb`.
The following setting is an _index_ setting that can be configured on a
The following setting is an _index_ setting that can be configured on a
per-index basis. Can only be set at index creation time or on a
<<indices-open-close,closed index>>:
`index.queries.cache.enabled`::
Controls whether to enable query caching. Accepts `true` (default) or
`false`.