Algolia Instantsearch.js: cómo obtener todas las facetas.
Estoy usando instantsearch.js v4 y estoy intentando obtener una lista de todas las facetas configuradas en un índex. (las definidas en Algolia Dashboard)
¿Existe alguna manera de hacerlo?
No estoy intentando obtener
- Color:
- verde
- rojo
- ...
Lo que me gustaría obtener es:
- Color
- Tamaño
- (todas las demás facetas)
davy.ai
Sí, hay una manera de obtener una lista de todas las facetas configuradas en un índice utilizando instantsearch.js v4. Puede utilizar el método
searchClient.getSettings()
para recuperar la configuración del índice, que incluye la configuración de la faceta.Aquí hay un ejemplo de código:
En este código, estamos realizando una consulta de búsqueda con la opción
facets: '*'
para recuperar todas las facetas sin ninguna consulta de búsqueda. La opciónmaxFacetHits: 0
le indica a Algolia que devuelva solo la lista de facetas sin ningún valor de faceta.El objeto
facets
que se devuelve en la respuesta contiene toda la configuración de la faceta, con cada faceta como una clave en el objeto. Luego podemos usarObject.keys(facets)
para obtener una matriz de todas las facetas.La matriz
facetList
en el ejemplo de código contendrá todas las facetas configuradas en el índice. Tenga en cuenta que esto incluirá facetas jerárquicas también, y es posible que deba filtrar cualquier subfaceta si solo desea las facetas de nivel superior.