Introduction
In developing search solutions not only are results important, but they also help us to improve the quality and the search focus.
Elasticsearch provides a powerful tool to achieve these goals: the 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 a search for news articles, some facets that could be interesting to calculate, could be the authors who wrote the articles and the date histogram of the publishing date.
Thus aggregations are used not only to improve the results focus, but also to provide insight on stored data (analytics): this is the way that a lot of tools such as Kibana (https://www.elastic.co/products/kibana) are born.
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).
Because the Elasticsearch aggregation framework provides...