Understanding Elasticsearch caching
One of the very important parts of Elasticsearch, although not always visible to the users, is caching. It allows Elasticsearch to store commonly used data in memory and reuse it on demand. Of course, we can't cache everything; we usually have way more data than we have memory, and creating caches may be quite expensive when it comes to performance. In the Instant aggregations in Elasticsearch 5.0 section of Chapter 5, Improving the User Search Experience, we discussed some major improvements done in query parsing and caching. In this chapter, we will look at the different caches exposed by Elasticsearch, and we will discuss how they are used and how we can control their usage. Hopefully, such information will allow you to better understand how this great search server works internally.
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 existing on that node...