-

Moteur de recherche de produits dans Drupal avec intégration Apache Solr - Guide pratique

La recherche de produits est une fonction clé dans le commerce électronique aujourd'hui. Cet article montrera comment créer un moteur de recherche de produits avancé basé sur Drupal et son intégration avec Apache Solr. En combinant Drupal, le profil d'installation Droopler et Solr, un outil puissant peut être créé pour permettre aux clients de naviguer et de rechercher de grands ensembles de données plus rapidement. Je vous encourage à lire le billet de blog ou à regarder la vidéo de la série “Nowoczesny Drupal” (la vidéo est en polonais).

Qu'est-ce qu'Apache Solr ?

Apache Solr est un système de recherche avancé conçu pour le traitement rapide et la recherche de grands ensembles de données. Il est plus efficace que les solutions traditionnelles basées sur les bases de données SQL, et ses capacités sont particulièrement utiles dans le contexte de sites de commerce électronique complexes.

Comment cela fonctionne-t-il ? Il stocke les informations de manière à les rendre faciles à rechercher et vous permet de trouver rapidement des données basées sur des requêtes complexes.

Apache Solr permet, entre autres, de rechercher des champs spécifiques, d'utiliser des caractères spéciaux, d'appliquer des opérateurs logiques (ET, OU, NON), de compléter automatiquement les requêtes, de rechercher de manière approximative (avec tolérance aux erreurs), de vérifier l'orthographe, et bien plus encore.

Quelles fonctionnalités offre Apache Solr ?

Apache Solr est doté de plusieurs fonctionnalités qui en font un outil de recherche extrêmement polyvalent. En plus de celles mentionnées ci-dessus, les plus importantes sont :

  1. Recherche en temps réel - fournit un accès instantané aux résultats.
  2. Filtrage par champs - vous permet de rechercher uniquement des sections ou attributs sélectionnés des produits.
  3. Complétion automatique et vérification orthographique - aident les utilisateurs à trouver rapidement les produits qu'ils recherchent, même avec des fautes de frappe.
  4. Regroupement des résultats - Apache Solr peut afficher des résultats regroupés par catégorie, ce qui facilite à l'utilisateur la recherche des produits qui l'intéressent.

Mettre en place un moteur de recherche de produits sur Drupal - choisir un profil d'installation

Avant de commencer, nous devons préparer l'environnement pour une configuration facile d'Apache Solr.

Installation et configuration du profil Droopler

Dans notre exemple, nous utiliserons le profil d'installation Droopler, qui est spécialement préparé pour l'intégration avec Apache Solr. Droopler inclut des types de contenu produits prêts à l'emploi, ce qui nous permet de construire un moteur de recherche de produits sans avoir à créer et configurer manuellement chaque champ.

Le résultat final - un moteur de recherche de produits prêt à l'emploi

Avant de passer aux instructions pas à pas, voyons quel effet nous visons. Une fois la configuration terminée, nous obtiendrons un moteur de recherche de produits prêt à l'emploi qui permet aux utilisateurs de rechercher par lettres, catégories, tags et phrases complètes. Le nombre de résultats pour chaque catégorie et tag s'affichera également, aidant l'utilisateur à voir rapidement combien de produits correspondent aux critères.

Un moteur de recherche de produits prêt à l'emploi pour un site Web basé sur le profil d'installation de Droopler.


Modules requis pour l'intégration d'Apache Solr avec Drupal

Pour connecter Drupal avec Solr, il est nécessaire d'installer les modules pertinents :

  1. Search API
  2. Search API Solr
  3. Search API Autocomplete
Des modules Solr dans Drupal sont nécessaires pour construire un moteur de recherche de produits pratique sur le site web.


Configuration du serveur Solr

L'étape suivante consiste à configurer le serveur Solr dans Drupal. Ici, nous spécifions l'URL du serveur, le port et les identifiants de connexion, tels que le nom d'utilisateur et le mot de passe, si Solr est sécurisé avec le protocole BasicAuth.

Configurer le serveur Solr dans Drupal en remplissant les données pertinentes, telles que l'URL du serveur.


Configuration des indices dans Drupal

Un indice dans Drupal est une structure qui stocke les données que nous voulons rechercher.

Nous ajoutons le nouvel indice dans Search API. Ensuite, nous nous occupons de la configuration :

  1. Nous nommons l'indice (par exemple, "Indice Produits").
  2. Nous spécifions les types de contenu que nous voulons indexer, tels que les produits, les articles ou les pages (dans notre cas, nous pouvons choisir "produits" si l'indice est pour la recherche de produits).
  3. Nous choisissons le serveur: dans les paramètres de l'indice, nous choisissons le serveur Apache Solr que nous avons configuré précédemment comme source d'indexation (cela permettra à Drupal d'envoyer les données à Solr, qui effectuera le traitement).
  4. Nous configurons les champs pour l'indexation: pour ajouter un nouveau champ, cliquez sur "Ajouter un champ" et sélectionnez les champs appropriés dans la liste. Des champs tels que "titre" ou "description" seront utiles pour la recherche en texte intégral, tandis que les "catégories" et "tags" peuvent être utilisés comme filtres.
  5. Nous personnalisons les paramètres de champ: nous spécifions quels champs seront inclus dans l'indice et comment ils seront recherchés. Par exemple, nous pouvons choisir de rendre les champs de texte (titre, description) recherchables en texte intégral, ce qui permettra de rechercher par phrases.
Configurer les indices qui stockent les données dans Drupal en utilisant les modules Apache Solr pour un moteur de recherche de produits.


Une fois l'indice configuré, nous effectuons un réindexage pour nous assurer que toutes les données sont disponibles pour Solr.

Pour accomplir ceci :

  1. Nous naviguons vers l'onglet Search API: dans le panneau d'administration de Drupal, nous ouvrons la section Search API, où nous pouvons voir une liste de tous les indices configurés.
  2. Sélectionnez l'indice à réindexer: trouvez et sélectionnez l'indice contenant les données à réindexer (par exemple, "Indice de Produits").
  3. Nous examinons les paramètres de l'indice:
    • Nous vérifions que les champs pour l'indexation sont correctement configurés et incluent tous les éléments disponibles pour la recherche.
    • Nous vérifions que le serveur Solr est sélectionné pour assurer une intégration correcte.
  4. Nous ajoutons le contenu à la file d'attente de réindexation:
    • Cliquez sur l'option "Placer les éléments en file d'attente pour réindexation".
  5. Nous démarrons le processus de réindexation: commencez la réindexation en cliquant sur "Indexer maintenant" ou "Utiliser la fonction cron" pour que le système démarre automatiquement le traitement de tous les éléments.
  6. Nous surveillons le processus: regardez comment les données sont indexées et faites attention au nombre d'éléments traités. Le processus peut prendre un certain temps, surtout avec de grandes quantités de données.
  7. Nous vérifions l'état de l'indice: une fois la réindexation terminée, nous vérifions que tous les éléments ont été correctement indexés et sont prêts pour la recherche.
Vérifier l'état post-indexation pour le moteur de recherche de produits dans Drupal en utilisant le module Apache Solr.


Création d'une vue de moteur de recherche de produits

Nous allons maintenant examiner la création d'une vue pratique de notre moteur de recherche de produits.

Construire une nouvelle vue

Dans Drupal, la vue vous permet de présenter les données indexées de manière conviviale. Nous configurons la nouvelle vue comme suit :

  1. Nous ajoutons une vue: sous Structure > Vues, nous cliquons sur "Ajouter une nouvelle vue" et lui donnons un nom, par exemple, "Recherche de Produits." Nous sélectionnons un index Solr, par exemple, "Indice de Produits" comme source de données.
Ajouter une nouvelle vue dans l'onglet Structure, puis Vues dans Drupal pour un moteur de recherche de produits.

 

  1. Nous définissons l'affichage: nous spécifions comment nous voulons présenter les résultats (liste ou grille) et le nombre de résultats par page.
Définir dans Drupal comment les éléments de vue seront affichés pour le moteur de recherche de produits sur le site web.

 

  1. Nous ajoutons des champs: nous sélectionnons les champs à afficher (par exemple, titre, description, miniature, catégorie). Pour les images, nous configurons une vignette avec des dimensions appropriées.
Ajout de champs à afficher dans le moteur de recherche de produits (par exemple, titre, catégorie) sur un site Drupal.

 

  1. Ajouter des filtres: ajouter un filtre en texte intégral pour les recherches par mots-clés et des filtres supplémentaires, tels que par catégories et tags.

 

  1. Mise en évidence des mots-clés et complétion automatique: nous détaillerons cette étape plus loin dans l'article.
  2. Enregistrez et testez la vue: enregistrez les paramètres, testez la recherche et vérifiez que tous les filtres et fonctions fonctionnent correctement.

Filtres et mise en évidence des mots-clés

Nous ajoutons des fonctionnalités de filtrage, telles que la recherche en texte intégral et la possibilité de mettre en évidence les mots-clés (appelée highlighting). Nous cliquons sur "ajouter un filtre" et sélectionnons le filtre de recherche en texte intégral, puis nous le configurons pour rechercher les champs les plus importants, tels que le titre et la description.

À l'étape suivante, nous ajoutons des filtres supplémentaires après les champs, tels que catégories et tags, ce qui nous permettra de réduire les résultats de recherche. Maintenant, nous ajoutons la mise en évidence des mots-clés: allez à l'onglet "Processeurs" et activez "Highlight" pour les champs sélectionnés, tels que le titre et la description.

Video file

 

Avec cette fonctionnalité, les termes de recherche seront mis en évidence, facilitant la compréhension par l'utilisateur de la raison pour laquelle un produit particulier apparaît dans les résultats.

Fonctionnalités avancées du moteur de recherche de produits

Ci-dessous, nous examinerons et discuterons des fonctionnalités qui peuvent être ajoutées à notre moteur de recherche de produits. Elles permettent des recherches avancées et sont très pratiques pour l'utilisateur.

Fonction de complétion automatique et correction orthographique (Spell Check)

Solr offre également des fonctionnalités avancées telles que autocomplete, qui permettent d'afficher des suggestions lors de la saisie d'un mot de passe, ce qui est mis en œuvre par le module Solr Autocomplete . Le module Spell Check, quant à lui, aide un utilisateur qui a fait une faute de frappe en suggérant des mots-clés alternatifs.

Pour appliquer les deux fonctions, vous devez :

  1. Activer le module Autocomplete:
  • Dans Drupal, activez le module Solr Autocomplete . Ensuite, dans les paramètres de l'index Solr, cliquez sur l'onglet "Auto-completion" et activez-le pour la vue sélectionnée, telle que "Recherche de Produits."
  • Dans les options, vous pouvez personnaliser l'affichage des résultats, les utilisateurs recevant des suggestions lors de la saisie de requêtes.  
  1. Ajoutez le module Spell Check pour corriger l'orthographe:
    • Activez le module Spell Check . Ensuite, ajoutez un nouveau champ texte dans l'index, tel que "Champs Agrégés," qui prendra en charge la correction orthographique pour les champs tels que "titre" et "description."
    • Activez la fonction Spell Check dans les paramètres de l'index, autorisant l'affichage de suggestions correctes en cas de faute de frappe.

Après avoir enregistré les modifications, effectuez à nouveau le réindexage. Autocomplete et correction orthographique seront actifs, soutenant des recherches plus pratiques.

Test de correction orthographique avec le module Spell Check dans le profil d'installation de Droopler.

Recherche par catégories et tags

Avec le module Facets,  il est possible de rechercher des produits par catégories et tags. Les Facets créent des blocs qui peuvent être placés à divers endroits sur la page, ce qui facilite la tâche aux utilisateurs de filtrer les résultats en fonction des catégories ou des tags qui les intéressent.

Configuration des Facets

Nous configurons les Facets en les activant dans Drupal. Ensuite, nous allons dans les paramètres du module et sélectionnons la vue pour laquelle nous voulons ajouter des facets (dans notre cas, la vue "ps").

Nous cliquons sur "Ajouter une Facet" ("Add Facets") et sélectionnons le champ par lequel nous voulons permettre le filtrage, tel que "Catégories" ou "Tags." Nous définissons le nom de la facet et les options d'affichage (par exemple, comme une liste de liens) et activons l'option "Montrer le nombre de résultats" pour que les utilisateurs puissent voir le nombre de produits dans chaque catégorie. Enfin, nous allons à "Disposition des Blocs" ("Block Layout") et plaçons les blocs de Facets nouvellement créés dans une région sélectionnée de la page, telle qu'une colonne latérale, pour qu'ils soient visibles dans la vue de recherche.

Configuration des facets et apport des modifications à la disposition des blocs dans Drupal pour un moteur de recherche de produits.

Moteur de recherche de produits avec intégration Apache Solr - résumé

Intégrer Drupal avec Apache Solr en utilisant un profil Droopler vous permet de créer un moteur de recherche de produits puissant et convivial. Des fonctionnalités telles que la mise en évidence des mots-clés, l'autocomplétion, la correction orthographique, et la possibilité de filtrer par catégories et tags rendent la recherche sur votre site rapide et intuitive. La création d'un tel outil nécessite des modules appropriés, mais le résultat final en vaut la peine, offrant aux utilisateurs un moteur de recherche de produits moderne et avancé. Si vous avez besoin de soutien dans cette tâche ou une tâche similaire, les experts de notre agence Drupal vous aideront à réaliser ce type de configuration.

.