I was looking for an efficient solution by using which i should be able to select any date range data. Example: if i want to show a performance report for 2 months or 3 days the performance of system should not be effected much. Currently, i am storing index on monthly basis but with this logic elasticsearch performance goes down as i have 5 nodes and 3 shards for each node. And ES searches for data in each 5*3 nodes which is a time consuming process. Please suggest some design for this.
How much data do you have? What is the average shard size you are querying? What is the specification of your cluster, especially the hosts Elasticsearch is deployed on?
That does not really answer any of my questions. have you looked at what system resources are milting performance when you are querying? Is it CPU? Is it disk I/O and iowait? Are you seeing a lot go GC indicating it may be memory?
Apache, Apache Lucene, Apache Hadoop, Hadoop, HDFS and the yellow elephant
logo are trademarks of the
Apache Software Foundation
in the United States and/or other countries.