Personnalisation de votre service de recherche basé sur Solr

Conformément à l'engagement d'HCL envers les normes actuelles et ouvertes, HCL Commerce Search utilise Apache Lucene comme base de sa structure de recherche. Lucene alimente le moteur de recherche Apache Solr et le moteur de rechercheElasticsearch. Le pipeline d'indexation est plus ouvert, flexible et évolutif, mais aussi étroitement intégré au service de données. A l'aide de la technologie et de l'architecture sous-jacentes du flux de données, vous pouvez facilement personnaliser les pipelines. Cette approche de normes ouvertes facilite considérablement le processus d'intégration de la recherche dans les applications existantes et tierces.
HCL Commerce Search utilise un système multicanal basé sur les conteneurs pour la recherche et le marchandisage :
HCL Commerce Search

Fonctionnement de la recherche basée sur Solr

Dans l'interface frontale, HCL Commerce Search interagit avec les utilisateurs et d'autres composants de l'environnement du magasin à l'aide des requêtes HTTP REST. Sur le serveur, il fusionne la vitesse des bases de données relationnelles avec la flexibilité du fichier XML non structuré. Au fur et à mesure que les requêtes arrivent, elles sont transformées en documents XML dont le contenu est comparé à un index détaillé par le moteur Apache Solr.

Les requêtes de recherche disposent du cycle de traitement suivant.
  1. Un client entre une chaîne de recherche dans le navigateur. La suggestion automatique et l'anticipation facilitent ce processus. Le navigateur soumet la requête à la vitrine par HTTP, sous la forme d'une expression JSON.
  2. L'expression est dirigée vers l'interface de recherche sur le serveur principal ou un serveur de recherche dédié. L'interface de recherche peut accueillir plusieurs langues et des environnements de transactions à volume élevé. L'interface analyse l'expression et applique des corrections orthographiques, des recherches dans des dictionnaires et d'autres optimisations. Elle attribue également un profil de recherche à l'expression entrante (en le déclarant comme une requête ProductView, par exemple).
  3. Un certain nombre de règles commerciales et de commerçants peuvent désormais entrer en jeu dans le prétraitement des expressions de la requête. Les profils et les segments clients peuvent également modifier l'expression avant qu'elle ne soit traitée. Les états dynamiques, tels que le contenu actuel du panier du client, peuvent également influencer la requête à ce stade. Dans les situations B2B, les règles d'accès et d'autorisation peuvent filtrer les résultats.
  4. Le processeur de recherche compare le contenu finalisé de l'expression de recherche avec les zones de l'index.
  5. Les résultats de cette recherche peuvent être traités à nouveau à l'aide d'un fournisseur de post-traitement d'expression personnalisable. Une réponse est générée, en tirant parti des fonctions de la vitrine centrées sur le client, telles que la navigation à facettes, la prévisualisation et la navigation dans le catalogue.
  6. La réponse est renvoyée au format XML et est ensuite traitée et présentée de manière appropriée, en utilisant une page d'accueil, un aperçu, une suggestion ou dans un widget.
En passant par ce cycle, la requête de recherche interagit avec les composants de serveur suivants.

Le serveur de recherche Solr

Le serveur de recherche se compose d'un ensemble de services REST, d'une structure d'exécution de recherche et d'un ensemble de services de base HCL Commerce qui fournissent également l'accès à la base de données de production. Le moteur d'exécution de recherche inclut les fournisseurs d'expression de recherche et le processeur d'expressions. Tous ces services fonctionnent ensemble dans un conteneur compact. A l'exception du prétraitement d'index, toutes les fonctions liées à la recherche ont lieu à l'intérieur du conteneur.

Services REST

L'interface de recherche utilise REST pour convertir la requête entrante en un appel de ressource spécifique, par exemple un appel ProductView. L'expression résultante est transmise au processeur d'expressions, où une logique métier plus poussée sera appliquée.

Fournisseurs d'expressions

Selon le profil de recherche de la requête, divers composants commerciaux peuvent être impliqués, tels que le marketing pour les règles de marchandisage basées sur la recherche ou les contrats d'autorisation. Chaque composant métier peut contribuer une partie de l'expression de recherche par l'intermédiaire de son propre fournisseur d'expressions. Chaque contribution est combinée à l'expression de recherche principale générée par les services REST. L'expression de recherche qui en résulte est gérée par le processeur de recherche.

Processeur d'expression

Le processeur d'expression utilise le moteur Solr pour exécuter la recherche au niveau de l'index et capture le résultat pour le post-traitement et la réponse finale.

L'index de recherche

L'index de recherche est la clé de la puissance du système. Cet index est une grande table plate qui contient des zones de données optimisées pour les performances de recherche. Chaque zone se compose d'un nom, de son contenu et de métadonnées qui indiquent à HCL Commerce Search comment gérer le contenu. En règle générale, les zones peuvent contenir des valeurs booléennes, des nombres ou des chaînes. Une zone est flexible. Ainsi, vous pouvez définir votre propre type dans le fichier de schéma du système.

Les articles de catalogue doivent se trouver dans l'index pour être consultables. Par conséquent, avant le déploiement de la recherche, une étape d'indexation est requise. L'index peut être mis à jour à intervalles réguliers ou au besoin pendant l'exploitation du magasin. Au cours de l'étape d'indexation, Solr recueille, analyse et classe les données du catalogue du magasin pour faciliter une récupération rapide et précise des informations. En mettant l'accent sur la génération et l'optimisation d'un index, le moteur Solr ressemble davantage à une base de données traditionnelle qu'à un serveur Web ou à un processeur de transaction. Il s'agit de sa propre application, et peut résider sur son propre serveur dédié.