Hierarchical facets avec Elasticsearch

Elasticsearch est devenu un outil incontournable pour l’indexation de documents et la recherche textuelle. Un des rares reproches qui pouvait lui être fait il y a quelques mois était son absence de support des facets hiérarchiques. Il s’agit en effet d’une fonctionnalité très utile et demandée dans les sites e-commerce.

Pour ceux qui ne seraient pas familiers avec le vocabulaire des moteurs de recherche, une « facet » (ou recherche à facette en français) permet de regrouper des données sur des résultats de recherche. Elles sont calculées en temps réel et on les retrouve très souvent sur les catégories d’un site e-commerce. Les facets permettent par exemple de retrouver toutes les catégories associées à des résultats de recherche, avec le nombre d’éléments correspondants.