Lignes directrices pour améliorer les performances de navigation à facettes avec HCL Commerce Search

Le filtrage par facettes introduit de nombreuses permutations dans les produits présentés à l'utilisateur. Cette grande variété peut réduire considérablement le taux d'accès du cache et augmenter l'utilisation du serveur, car davantage de résultats doivent être renvoyés plutôt que servis à partir du cache.

Ces lignes directrices mettent en évidence les activités et les meilleures pratiques visant à réduire l'impact potentiel de la performance de la navigation à facettes sur l'utilisation des serveurs et à améliorer l'expérience des utilisateurs.

Adapter la conception du site au comportement de l'utilisateur

Un élément critique des performances des facettes et du site dans son ensemble consiste à adapter la conception à la plupart des flux d'utilisateurs. Par exemple, si l'on sait que les utilisateurs qui achètent des appareils de cuisine font leur achat avec la contre-profondeur comme attribut clé, au lieu de montrer toutes les permutations de profondeur, il est préférable d'avoir un regroupement oui/non de la contre-profondeur.

L'objectif est de créer un site qui correspond mieux au comportement de l'utilisateur de telle sorte que le nombre total de requêtes puisse être réduit en rationalisant la solution. Cela améliore à la fois l'expérience et les performances de l'utilisateur en raison du nombre réduit de requêtes et de la meilleure réutilisation du cache.

Instructions

Choix de facette
Les facettes disponibles pour les clients sont sélectionnées en fonction de celles qui comptent le plus pour les clients. Ce n'est pas parce qu'il y a 50 attributs pour les catégories que les 50 attributs sont transformés en facettes pour un examen plus approfondi. L'introduction de facettes non pertinentes peut en fait semer la confusion chez le client et rendre plus difficile pour les clients la localisation des produits qui les intéressent.

Les attributs aptes aux facettes sont sélectionnés dans le Centre de gestion sous le dictionnaire d'attributs. Centre de gestion > Catalogues > Dictionnaire d'attributs > Utilisation dans la navigation à facettes


Capture d'écran.
En outre, consultez la section de mise en cache sur la façon dont la sélection des facettes peut être mise en cache à des fins de réutilisation.
Sélections disponibles dans les facettes
Toute comme le nombre total de facettes disponibles, le nombre de sélections dans les facettes doit également être choisi intelligemment. Si le nombre de valeurs de facettes présentées aux clients a été optimisé, le nombre d'entrées uniques présentées est réduit. Cela améliore la réutilisation potentielle du cache et, tout aussi important, améliore la facilité d'utilisation du site avec des sélections plus significatives.
Exemples :
  1. Au lieu de montrer toutes les profondeurs possibles pour les réfrigérateurs, ils peuvent être classés en deux groupes, qu'ils aient une contre-profondeur ou non. Utilisez des groupes que les consommateurs connaissent pour améliorer leur expérience de navigation et, à terme, réduire le nombre total de sélections.
  2. Il y a beaucoup de nuances de blanc, au lieu de montrer toutes les nuances possibles, regroupez-les en un seul de blanc pour minimiser les choix. Ensuite, autorisez une ventilation plus poussée des nuances plus tard.
Les valeurs des facettes peuvent être sélectionnées et affinées sous les propriétés Centre de gestion > Catalogues > Dictionnaire d'attributs > Propriétés aptes aux facettes
Capture d'écran.
Extraction des attributs de produit
Le nombre d'attributs de produit récupérés à partir de Solr peut être configuré. Il est recommandé de créer des profils Solr qui permettent d'obtenir le niveau minimum d'attributs depuis Solr. Par exemple, si une page spécifique affiche seulement 5 des 50 attributs possibles, n'en cherchez que 5, au lieu des 50.
Pagination
Sélectionnez la taille de page appropriée :
La pagination est un excellent moyen de réduire la quantité de données calculées et renvoyées aux utilisateurs. Toutefois, la différence entre le coût de la requête de renvoi de 12 articles par page et celui de 24 articles par page est faible si on le compare au coût d'un plus grand nombre de requêtes de pagination. Cela prend en compte de l'idée fondamentale qu'il n'y a pas de calculs dupliqués entre les pages. Les sites doivent étudier le comportement de leurs utilisateurs, ainsi que tenir compte du coût de l'application et des ressources de mémoire pour déterminer les options de pagination idéales.

Exemple : En étudiant le comportement ou le journal du serveur Web, on peut observer que le modèle du client d'un site particulier consiste à charger plusieurs pages des catégories. En outre, plus de 80 percentiles de requêtes dépassent trois pages. Dans ce cas, si la solution devait augmenter le nombre de produits affichés par page, le nombre de requêtes de pagination par les utilisateurs serait probablement réduit.

ViewAll
ViewAll invite les clients à cliquer et déclenche souvent une opération coûteuse sur le serveur pour satisfaire cette requête. La requête de service de ViewAll augmente considérablement avec les catégories ayant un grand nombre d'articles. Au lieu de fournir la fonctionnalité ViewAll, une excellente alternative consiste à présenter aux utilisateurs la pagination de nombreux produits. Cette implémentation permet à l'application d'avoir un meilleur contrôle sur la portée et l'impact.
Eviter de recalculer les facettes pour la pagination
En plus de sélectionner le nombre optimal de produits par page, la page doit également être simplifiée pour exécuter uniquement les calculs nécessaires. La facette sélectionnée avant la pagination est susceptible de rester pour la pagination. Par conséquent, la conception doit éviter de recalculer les facettes pour la pagination. Cela peut être réalisé soit en actualisant simplement la section de contenu, soit en actualisant la page entière, mais avec des composants de facette réutilisés à partir du cache.
Mise en cache
Certaines des propriétés de l'attribut apte aux facettes sont mises en cache au moment de l'exécution. Pour améliorer les performances globales et les taux d'accès par cache des propriétés d'attributs mises en cache, le temps d'exécution de recherche est plus efficace lorsque vous utilisez des attributs avec un plus petit nombre de valeurs. Par conséquent, il n'est pas recommandé de surcharger un seul attribut avec de nombreuses valeurs différentes. Si possible, concevez votre attribution de catalogue plus précisément et évitez les noms d'attributs généraux tels que le type ou nom.
Le filtrage des facettes introduit une grande variance dans les combinaisons d'attributs et de paramètres d'URL. Même si suffisamment d'espace est disponible pour la mise en cache de toutes les combinaisons possibles, la réutilisation peut être faible pour les pages qui ne disposent que de quelques sélections de facettes. La mise en cache à un niveau inférieur (par rapport à une page entière) est l'endroit où il faut améliorer le taux d'accès par cache. Mettre en cache les miniatures du produit individuellement afin qu'elles puissent être réutilisées dans différentes sélections de facettes est un exemple donné ici.
Exemple de mise en cache de miniatures de produit
Les mêmes miniatures de produit peuvent apparaître dans différentes navigations de catalogue sélectionnées par des facettes, dans l'affichage de recherche et dans d'autres listes de produits. Ce processus est fortement réutilisable et constitue la recommandation numéro un pour optimiser la mise en cache des facettes.

Sur la charge initiale de la catégorie Vêtements pour femmes, les produits suivants sont présentés. La recommandation est de mettre en cache chaque miniature de produit individuellement (illustrée à la figure 1).

Figure 1. Produits présentés dans la vue de la catégorie Robe

Les produits présentés dans la vue de la catégorie Robe.
Figure 2. Filtrer en fonction d'une marque particulière, "Collection Hermitage"

Filtrer en fonction d'une marque particulière, "Collection Hermitage".

La vue filtrée contenait plusieurs des mêmes miniatures de produit dans la page de catégorie. Ces produits mis en cache individuellement peuvent être réutilisés.

Figure 3. Vue filtrée

Vue filtrée.
Optimisations pour améliorer la réutilisation du cache des miniatures de produits et réduire la requête de service :
  • Répertorier les produits au niveau des miniatures au lieu des articles
  • Limiter les clés de cache requises pour les miniatures
  • Optimiser le nombre d'attributs de produit affichés sur les miniatures pour minimiser son coût
Exemple de mise en cache de sélection de facettes
Mettez en cache les sélections de facettes pour les réutiliser dans les mêmes pages de sous-niveau de catégorie.
  • Description :
    • La liste déroulante de sélection de facettes peut être la même pour les pages d'une catégorie. Au lieu de calculer la liste déroulante des facettes pour chaque page, la liste déroulante des facettes peut être mise en cache une fois et réutilisée dans toutes les pages de la catégorie.
  • Comment :
    • Mettez en cache la liste déroulante des facettes sous la forme d'un JSP séparé individuellement en haut de la mise en cache au niveau de la page/du servlet.