6 582 résultats pour « vis M8 inox » : comment les ramener à 52 familles
Une recherche large sur un catalogue technique ramène souvent des centaines de produits qui ne diffèrent que par une dimension. Heurix mesure l'exemple sur un catalogue de 10 000 références : « vis M8 inox » renvoie 6 582 résultats, en tête desquels des variantes de longueur — M8×30, M8×80, M8×35, M8×6. Regroupés par famille, ces 6 582 résultats deviennent 52 lignes classées par pertinence.
Le regroupement, tel qu'il répond
group_by: "auto" regroupe sur les étiquettes standards du pack activé — famille, matière, type de tête, coloris. group_by: "FAM,MAT" regroupe à la place sur les préfixes choisis, si le regroupement par défaut ne convient pas.
{
"total": 6582,
"familles": 52,
"groupes": [
{
"famille": "vis inox hex",
"etiquettes": ["FAM_VIS", "MAT_INOX", "TETE_HEX"],
"produits": 265,
"score": 60.0,
"representant": { "id": "REF-001360", "name": "Vis hexagonale M8x30 inox A4" }
}
]
}
Les dimensions précises — longueur, diamètre exact — sont volontairement exclues de la clé de famille : ce sont elles qui varient à l'intérieur d'une même famille, les inclure donnerait une famille par produit. Les familles, elles, sont classées par le meilleur score de leurs membres, pas par leur taille : une famille pertinente mais peu fournie passe devant une famille fournie mais marginale. Sans group_by, la réponse ne change pas — les intégrations existantes ne voient aucune différence.
Le prix d'un deuxième appel
Le nombre total de résultats n'est connu qu'après la réponse — le seuil de regroupement se décide donc après coup, pas avant. Le widget interroge d'abord en mode plat ; si le total atteint le seuil configuré, un second appel relance la même requête avec group_by. Ce second appel est servi par le cache du moteur : un gain mesuré à 89 % sur une requête répétée. Le surcoût ne touche que les requêtes larges — une recherche de référence précise, qui n'atteint jamais le seuil, ne déclenche qu'un seul appel.
Un seuil, pas un interrupteur
Heurix.searchBox({
apiKey: "hxp_votre_cle_publique",
catalog: "moncatalogue",
containerId: "ma-recherche",
groupThreshold: 50,
onSelectGroup: function (famille, requete) { ... }
});
groupThreshold vaut 0 par défaut : le regroupement reste désactivé tant qu'il n'est pas réglé. Une fois activé, il ne se déclenche qu'à partir du seuil choisi — un visiteur qui tape une référence précise veut son produit, pas une famille, et une recherche qui reste sous le seuil n'en voit jamais une. onSelectGroup, optionnel, reçoit la famille et la requête ; sans le définir, un clic sur une famille rallonge la requête avec son nom et relance la recherche, sans quitter la page.
Voir avant d'activer
Sur l'écran Mise en avant sur recherche, une case à cocher « Regrouper par famille » affiche l'aperçu de résultats déjà groupé — de quoi juger l'effet sur son propre catalogue avant de régler groupThreshold pour ses visiteurs.
Pour la suite
Sans configuration, rien ne change : group_by et groupThreshold sont tous deux inactifs par défaut. Les deux se règlent indépendamment — l'un sur l'appel de recherche, l'autre depuis le widget — sans toucher au reste de l'intégration.
Comme pour le badge de réduction automatique, aucune carte sur la page Fonctionnalités n'explique ce mécanisme. Mais contrairement à lui, le chiffre est déjà visible en page d'accueil — « 6 582 résultats → 52 familles » — sans un mot, à cet endroit, sur ce qu'il recouvre ni comment l'obtenir sur son propre catalogue.