I was recently on an airline flight with onboard entertainment. There was a good selection of movies, but look at the film navigation menu! It lacks the ability to nest different languages into a single movie item and facet selections based on the movie’s language. As a result, it wastes screen space and forces the user to unnecessarily scroll through titles again and again. Faceted navigation on nested items is one of our favorite topics when it comes to search experience.
This is a customer experience that could easily be good instead of bad. Block join facet functionality has been available since Solr 5.5, so it is no longer a big deal to implement. Please check the Solr Reference guide for a detailed description. It’s also worth mentioning that this functionality is known as reverse nested aggregation in Elastic, and it can also be accomplished with unique(ID) aggregation in JSON Facets, a solution suggested by Alessandro Benedetti).
Even though dedicated components might appear to be more convenient for internal users, I prefer merging them into the JSON Facets framework. This is why we talk about Block Join Faceting so often: it can make your end users’ search experience a lot more pleasant than it would be without faceting!
Mikhail Khludnev