The getAlgoliaFacets function requires the targeted facet to be searchable.
Since it's not a requirement for our SFRA cartridge, if people try the demo on their existing index, they would get the following error and the search results wouldn't appear:
"Cannot search in __primary_category.1 attribute, you need to add searchable(__primary_category.1) to attributesForFaceting."
The
getAlgoliaFacets
function requires the targeted facet to be searchable. Since it's not a requirement for our SFRA cartridge, if people try the demo on their existing index, they would get the following error and the search results wouldn't appear:Algolia has a way to get the facets and their count that doesn't require to have searchable facets: https://www.algolia.com/doc/guides/managing-results/refine-results/faceting/#retrieving-facets This PR uses this method to retrieve the facets.
The
results
object contains the following object:The
transformResponse
function transform it into a sorted array of{ label: int, count: int }
objects, like thegetAlgoliaFacets
was doing.SFCC-388