Besides tests the elasticsearch client is now fully ready with abstraction complete (optimizations needed).
* Aggregations have been used prominently to generate chart data.
* Support for top_fields has been added, had to modify existing structure to make it abstract enough.
* Tests on travis is currently taking around 80s (corresponding tests on influxdb take place in 25s, so improvement needed).
Optimizations we can do:
1) disable _source and _all as we are primarily using aggregations so might not actually need it. Benefits include lesser space being used thus lesser resources consumption as mentioned here (https://www.elastic.co/blog/elasticsearch-as-a-time-series-data-store)2) Refresh indices after every write (by default index is refreshed every second, works well in practical case but not during tests.)3) Don't delete indices between tests but rather only the data (might save time taken in creation of indexes, putting mappings and templates)
I did find few more optimizations but we might not be able to use it.
Maybe we can create a separate issue for this to keep things simple and easier to review :)