High load on nodes every time a certain query executes

Hi all,

i have Elasticsearch cluster of 5 nodes on 5 different physical machines.
one of the indexes contains 240Million documents, spanning over 1 month of indexing.
when i select (in Kibana) to visualize all the documents from the last month (all the 240M), i get timeout message (the default 30 seconds).
i noticed that there is high cpu usage during that query (there are no other queries at the same time):

this is the shards distribution of that index:

what steps can i take to make this query work?
please let me know if more details are required.


What sort of specs does each node have?


Each node has 4 cores (Xeon E5-2680), 16GB of memory.
The operating system is Linux and i'm using the latest java version available.
Each node also uses 500GB SSD drive, which is shared between the nodes.
I read somewhere that the recommended configuration is 32GB of RAM per node (it was even more specific to 31.9GB), but what surprises me is that my query is simple 'retrieve all documents', with no aggregation or calculation of any kind.