My assumption was that if i create more shards and segregate the events into the shards , better memory utilization will be possible and in turn the serach results will be faster.
I came across a similar issue here : Elasticsearch querying is terribly slow
However , now I believe that because the amount of data in my case is 2 GB to max 12GB , I am better of maintaining 3 shards and increase the heap max /min in elastic search to 40 gb.