Class IndicesRequestCache

java.lang.Object
org.elasticsearch.indices.IndicesRequestCache
All Implemented Interfaces:
java.io.Closeable, java.lang.AutoCloseable, RemovalListener<org.elasticsearch.indices.IndicesRequestCache.Key,​BytesReference>

public final class IndicesRequestCache
extends java.lang.Object
implements RemovalListener<org.elasticsearch.indices.IndicesRequestCache.Key,​BytesReference>, java.io.Closeable
The indices request cache allows to cache a shard level request stage responses, helping with improving similar requests that are potentially expensive (because of aggs for example). The cache is fully coherent with the semantics of NRT (the index reader cache key is part of the cache key), and relies on size based eviction to evict old reader associated cache entries as well as scheduler reaper to clean readers that are no longer used or closed shards.

Currently, the cache is only enabled for count requests, and can only be opted in on an index level setting that can be dynamically changed and defaults to false.

There are still several TODOs left in this class, some easily addressable, some more complex, but the support is functional.