Avis sur les Cookies
Nous utilisons des cookies pour analyser notre trafic et améliorer votre expérience. Vous pouvez accepter ou refuser les cookies analytiques.
Un installateur qui tape « manomètre 1/2 » veut une seule chose : le bon article, tout de suite. Dans la boutique B2B d’Omni-Term, les installateurs cherchent par numéro d’article, code fournisseur, marque, description ou caractéristique technique, dans un catalogue issu de nombreux fabricants. Voici comment j’ai construit cette recherche.
La requête est d’abord analysée. Si le code reconnaît un numéro d’article ou un code fournisseur, il passe directement à une correspondance exacte et par wildcard sur ces champs, avec le boost le plus élevé. S’il reconnaît une marque, les produits de cette marque sont favorisés. Le reste est traité comme des termes ordinaires, cherchés simultanément dans plusieurs champs : la désignation en mot-clé exact, en texte analysé et en edge n-gram pour les préfixes, la description du produit, et la hiérarchie de la catégorie jusqu’à la famille de produits. La recherche d’un ancien numéro d’article trouve aussi son successeur grâce à une liste imbriquée de prédécesseurs.
Avec plusieurs termes, la requête exige qu’ils apparaissent tous dans le même produit. Si cela donne trop peu de résultats, la recherche bascule vers une variante OR. L’utilisateur obtient la précision quand c’est possible et l’exhaustivité quand c’est nécessaire.
« Installatie » ne doit pas correspondre sans distinction à « installatiemateriaal ». La requête construit donc des motifs de limites de mots : le terme au début, à la fin ou au milieu d’un champ, ou après un trait d’union ou un point. Un interrupteur décide si les correspondances à l’intérieur d’un mot sont admises ; précision et rappel se règlent ainsi selon la situation, comme la tolérance aux fautes de frappe.
Les poids par champ, du numéro d’article exact jusqu’au niveau hiérarchique, sont stockés comme paramètres dans la base de données. Un petit outil de gestion les affiche par groupe, valide les modifications et vide le cache de l’API. Ajuster le comportement de la recherche prend des minutes, pas des releases.
ETIM est le standard européen de classification des produits techniques : chaque classe, comme « pompe de circulation », possède des caractéristiques fixes avec unités et valeurs. Les données ETIM des fabricants résident dans un index Elasticsearch dédié avec des analyseurs n-gram et sont reliées via le GLN du fabricant et le code fournisseur ou le GTIN de l’article. Cela permet deux choses : l’installateur voit les caractéristiques techniques d’un article, et les résultats sont regroupés par classe ETIM sous forme de facette pour affiner. Le lien se fait lors de l’enrichissement des résultats, pour que la recherche de base reste rapide.
Vous cherchez une meilleure recherche pour votre boutique ou votre catalogue ? Contactez-moi.