There are different caching inner modules associated with an index. They include filter and others.

Filter Cacheedit

The 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 Cacheedit

The node filter cache may be configured to use either a percentage of the total memory allocated to the process or a 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 10%. 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.