Well replication will help with query time but that topic aside. So lots of spare memory in LINUX to use as filecache and Buffer is Really good an you have the hardware to do it
Query times will be affect by your ability to Cache them, and keep Indexing data in memory
SO: trying to keep it simple. with what I know as an example:
I Index about 700M events every day (~ 1TB of logs, or ~10K messages a second)
For indexing I don't find needing a lot of heap a big issue, I run at 30GB ( Don't go over 32GB as there is performance impact till you get to around I think 70GB )
My biggest issue is at the EXT4 Filesystem, even though My disk array can write faster I found the EXT4 journal system bottlenecked at about 300Mb(JBD2 is not threaded and can only use one core) , So I had to spit to multiple mount points and WAM my searches and a indexing went off the charts. XFS probably has some issues where you probably want multiple Mounts but I hear it is more efficient
Now there are 2 thinkgs I would look at
Your thread pools
https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-threadpool.html
and heap sizes something to read
https://www.elastic.co/guide/en/elasticsearch/guide/current/_limiting_memory_usage.html
https://www.elastic.co/guide/en/elasticsearch/reference/master/indexing-buffer.html
I would think you can also read up on this page, even though it is for 2.3 it still mostly applies maybe they updated for 5.1
https://www.elastic.co/guide/en/elasticsearch/guide/current/indexing-performance.html
But before you go Tweaking any of the internal parameters, for the most part they are Pretty dam good and autoscale so you will probably not see huge changes by adjusting them.
The biggest thing I see over and over again is to watch your
CPU Utilization
Load average (Lower the better and if you can't find the bottleneck search some more)
Disk IO HUGE
Size of index to number of shards 1 TB index with 1 shard and 1 CPU very very slow. 1TB index with 100 shards and 100 CPU's FAST (With lots of mount points)
Hope this helps