Recherche globale et filtrage
1) Le rôle de la recherche globale
La recherche globale est la « palette de commande » du produit : un point d'entrée unique pour les entités (jeux, fournisseurs, rapports, promotions), les actions (« recharger », « ouvrir le portefeuille ») et l'aide. Bonne recherche :- comprend l'intention (entity vs action),
- conduit à un résultat ≤ 1-2 clics,
- résistant aux erreurs d'entrée et aux synonymes,
- est sécurisé et tient compte des droits d'accès.
Principes : relevance> completeness, latinité <200 ms avant les premiers conseils, filtres transparents et tri.
2) Entités et intentions (Intent Model)
Classes de requête :- Entités : jeu, fournisseur, tournoi, rapport, méthode de paiement.
- Les actions : "le dépôt", "la conclusion", "créer le rapport", "inviter de l'affilier".
- Navigation : « portefeuille », « profil », « paramètres ».
- Aide : « RTP », « limites », « niveaux KYC ».
Modèle UX : le type de résultat marque le bajem (Jeu/Fournisseur/Action/Aide), en haut, le type le plus probable par contexte (pays, rôle, histoire).
3) Points d'entrée et facteurs de forme
Chaîne dans le chapeau (desktop) + hotkei '⌘/Ctrl + K' : Ouvre la palette.
L'icône/recherche dans le bar (mobile) est un modal plein écran.
Mini-recherches contextuelles : à l'intérieur du catalogue, filtrez la liste en cours.
« Trouvez un jeu, un fournisseur ou une action »....
4) Conseils et remplissage automatique
Apparaissent après 150-250 ms, top N populaire/récent.
Sections des résultats : Récents, Populaires, Entités, Actions, Aide.
Illumination des correspondances (highlight), diacritique et translit (Pragmatic/Pragmatique).
Supportez les erreurs (fuzzy) et les synonymes (« sortie « = « withdrawal », « cashout »).
Keyboard-UX : flèches/Entrée/Tabulation ; sur le mobile, de gros targets.
5) Filtrage et facettes
Facettes (facets) - Dimensions significatives :- Pour les jeux : fournisseur, mécanique (Megaways, cluster), volatilité, RTP, catégorie (Live/Slots/Crash), tags.
- Pour les rapports : période, opérateur, géo, monnaie, statut.
- Pour les promotions/tournois : dates, paris, participants, prix.
- Filtres à puce au-dessus des résultats (les facettes sélectionnées sont toujours visibles).
- Multi-select dans les listes déroulantes ; compteurs à côté des options.
- « Tout réinitialiser » et « Enregistrer en tant que préréglage ».
- Sur le mobile, un sheet avec des facettes et le bouton « Afficher les résultats ».
6) Syntaxe étendue (facultatif)
Soutenez votre DSL Query léger :- `provider:"Pragmatic Play"`, `rtp:>=96`, `volatility:high`
- `type:live`, `tag:"buy bonus"`
- `market:CA currency:CAD`
- L'auto-remplissage indique les clés/valeurs ; les utilisateurs powerusers gagnent du temps.
7) Classement (Relevance)
Signaux :- Précision de correspondance (titre, alias, synonymes).
- Popularité/conversion (kliki→igra/depozit).
- Contexte personnel (histoire, favoris, récents).
- Accessibilité par rôle/juridiction.
- Fraîcheur (nouvelles sorties/promotions - boost limité dans le temps).
Affichez une explication lorsque vous changez d'ordre (« Nouvelles versions ci-dessus dans les 7 jours »).
8) États vides et limites
Aucun résultat : suggérez de retirer/desserrer les filtres, montrer populaire dans la catégorie actuelle, lien d'aide.
Demande trop générale : demander des précisions (montrer « catégories »).
Erreurs réseau : texte hors ligne, retry, enregistrement de la chaîne de caractères.
Restrictions d'accès : « Non disponible dans votre région/rôle » avec CTA « Plus ».
9) Sécurité, droits et conformité
RBAC/ténacité : l'indice et les résultats ne proviennent que de l'espace disponible.
Geo-guard : cacher les marchés/jeux inaccessibles.
Minimisation des PII : ne pas déduire les données personnelles dans les indices.
Journal des requêtes (impersonnel) pour l'audit et l'amélioration de la qualité.
Filtrez les demandes de mots clés interdits (hydes de marque, risques juridiques).
10) Performance et architecture
Le temps jusqu'aux premiers indices ≤ 200 ms, jusqu'aux premiers résultats ≤ 300-400 ms.
INDEX : mises à jour incrémentielles, dictionnaires synonymes, n-gram/edge-ngrams pour les préfixes.
Cache les requêtes et les conseils populaires.
Debounce 150-250 ms, annulation des demandes obsolètes (abort/timeout).
SSR/streaming pour le premier écran de catalogue ; puis le filtrage client.
Virtualisation de longues listes de résultats.
Index local (Web Worker) pour le filtrage client des jeux déjà chargés.
11) Disponibilité et localisation
Rôle 'combobox '/' listbox', correct 'aria-', lecture du nombre de résultats.
Focus management : retour à la barre de recherche, Esc - fermer, Enter - aller.
RTL : miroir de l'ordre des puces et de la position des icônes.
Les termes et les facettes sont localisés, les formats numériques et les devises sont par région.
12) Télémétrie et métriques
Événements :- `search_open`, `search_type` (entity/action), `suggest_impression/click`,
- `query_submit`, `facet_apply/remove`, `preset_save/apply`,
- `result_click` (rank, id), `no_results`, `latency_ms`.
- Query → Result Click-Through (qCTR).
- Time-to-Result (premier clic/Enter).
- Zero-Result Rate (ZRR) et la proportion de « vides » sauvés.
- Facet Adoption %, Preset Adoption %.
- Action Success % (pour les intentions « dépôt », « retrait »).
- Latitude p95 conseils et émission complète.
13) Expériences A/B
Ordre des sections des résultats (entités vs action).
Stratégie de classement (popularité vs fraîcheur).
Grille/feuille de résultats, nombre d'indices.
Variantes de phrases dans le lecteur/vide.
Filtres à puce au-dessus de vs dans la barre latérale (desktop).
Guardrails : INP/CLS, ZRR, plaintes/erreurs, fuites RBAC = 0.
14) Modèles par scénario (iGaming)
Trouvez le jeu : entrez le nom/fournisseur → des indices (jeux, fournisseurs, étiquettes). Facettes : catégorie, fournisseur, volatilité, RTP. Actions rapides : « Démo », « Jouer ».
Actions de paiement : 'dépôt', 'retrait' → actions en premier. Diplink dans le portefeuille en conservant le contexte.
Rapports d'opérateur : 'ngr', 'arpdau' → l'entité « Rapports », facettes période/opérateur/monnaie ; Presets : « Aujourd'hui », « La semaine dernière ».
Aide/stratégies : 'RTP', 'limites', 'KYC' → articles/FAQ,' contact chat '.
15) Anti-modèles
Résultats sans types (l'utilisateur ne comprend pas ce qu'il ouvre).
Conseils avec retard> 500 ms (l'utilisateur « perd son rythme »).
Filtres sans indication visible des conditions actives.
Réinitialiser l'état en arrière (la chaîne et les facettes sont perdues).
Recherche qui renvoie des entités sans droits et avec « accès interdit » par clic.
Ignorer les erreurs typographiques/synonymes, pas de translittération.
16) Chèque de mise en œuvre (étape par étape)
1. Répertoire des entités et des actions (ID, alias, synonymes, droits).
2. Index et classement : règles, coupes, boosts (fraîcheur/popularité).
3. Conseils/auto-remplissage : debounce, rétroéclairage, histoire/populaire.
4. Facettes et puces : multi-select, compteurs, « réinitialisation », presets.
5. Vides/erreurs : textes, alternatives, mode hors ligne.
6. Performance : cache, annulation des demandes, virtualisation, objectifs p95.
7. A11u/local : rôles ARIA, clavier, RTL, termes.
8. Télémétrie et A/B : qCTR, ZRR, Time-to-Result, expériences.
9. Sécurité : RBAC dans l'index et la délivrance, logs de vérification.
10. Documentation : dictionnaire de facettes, exemples de requêtes, hayding pour copirate.
17) Résultat
La recherche globale et le filtrage ne sont pas une seule chaîne, mais un écosystème de recherche rapide. C'est la solution qui gagne :1. comprend précisément l'intention et se classe par utilité,
2. travaille instantanément (indices ≤ 200 ms),
3. donne des facettes transparentes et conserve le contexte,
4. respecte les droits/géo et parle un langage compréhensible,
5. mesure la qualité (qCTR/ZRR/Time-to-Result) et s'améliore constamment grâce à A/B.