Introduction
In developing search solutions, not only are results important, but they also help us to improve quality and search focus.
ElasticSearch provides a powerful tool to achieve these goals: aggregations.
The main usage of aggregations is to provide additional data to the search results to improve their quality or to augment them with additional information. For example, in searching for news articles, facets that can be interesting for calculation are the articles written by authors and the date histogram of their publishing date.
Thus, aggregations are used not only to improve results, but also to provide an insight into stored data (Analytics); for this, we have a lot of tools, and one of which is called Kibana (http://www.elasticsearch.org/overview/kibana/).
Generally, the aggregations are displayed to the end user with graphs or a group of filtering options (for example, a list of categories for the search results).
The actual aggregation framework is an evolution of the previous...