Introduction
In developing search solutions not only results are important, but also helpers to improve the quality and the search focus.
ElasticSearch provides a powerful tool to achieve these goals: the facets.
Facets are used not only to improve results, but also to provide additional information on queries, such as counting, folksonomy, histogram, and extra data. Generally, the facets are represented with graphs or a group of filtering options (for example, a list of categories for the search results).
Because all of them provide some scripting functionalities, they are able to cover a wide spectrum of scenarios. In this chapter, some simple scripting functionalities are shown related to facets, but we will cover in-depth scripting in the next chapter.
Facet is also the base for advanced analytics as shown in the software Kibana (http://www.elasticsearch.org/overview/kibana/) or similar. It's very important to understand how the various types of facets work and when to choose them...