Comment configurer la recherche à facettes pour Drupal 8 (et 9) - Un didacticiel simple étape par étape
Publié: 2020-11-18La recherche à facettes offre aux utilisateurs une expérience de recherche supérieure en affichant des filtres par rapport à leurs résultats de recherche. Il est particulièrement utile pour les sites Web ayant de grands catalogues et listes. Une fois que l'utilisateur a saisi sa requête de recherche, une liste d'options de filtrage pertinentes lui sera présentée pour affiner davantage sa recherche. Ces éléments filtrants sont des facettes.
Auparavant Facet API dans Drupal 7, le module Facet dans Drupal 8 permet à votre site Web de disposer de capacités de recherche à facettes. Facets prend également en charge Drupal 9 ! Regardons la configuration et la mise en œuvre de la recherche à facettes avec le propre serveur de recherche de Drupal, Search API.

Qu'est-ce que la recherche à facettes ?
Si vos utilisateurs ont du mal à voir ce qu'ils recherchent même après avoir saisi leur requête de recherche, ils seront forcément frustrés. La recherche à facettes fournit aux utilisateurs plusieurs filtres en même temps pour les divers attributs du contenu. Les facettes fournies sont basées sur la requête de recherche que l'utilisateur a exécutée. Facets affichera également le nombre de résultats correspondants (généralement entre parenthèses) à côté. Jetons un coup d'œil à cette capture d'écran ci-dessous pour mieux comprendre Facets-

Dans l'un de nos récents projets Drupal 8, une recherche rapide de maisons en Colombie sur ce site Web vous présente des facettes telles que les communautés, les offres spéciales, les déménagements rapides et plus encore. Vous verrez également le décompte des résultats à côté de chaque facette. Ainsi, une requête avec le mot-clé « Columbia » est envoyée au serveur de recherche pour récupérer les catégories déjà configurées et indexées (Communautés, Hot Deals, etc.)
Installation du module Facets pour Drupal 8
Comme indiqué précédemment, nous allons implémenter la recherche à facettes à l'aide du module Search API de Drupal.
Étape 1 : Activation des modules
Installer et activer ces modules
• Le module de facettes
• Module API de recherche
Étape 2 : Création de types de contenu
Créez le contenu que vous souhaitez inclure dans la recherche à facettes en ajoutant des types de contenu comme indiqué ci-dessous. Vous pouvez également utiliser les types de contenu par défaut fournis par Drupal.

Étape 3 : Configuration du serveur de recherche
Accédez à Configuration -> Recherche et métadonnées -> Search-API depuis l'interface d'administration pour configurer votre serveur de recherche. Donnez un nom à votre serveur de recherche (ici - serveur de données).

Étape 4 : Configuration de l'index de recherche
Ensuite, configurez l'index de recherche pour améliorer les performances de recherche. Accédez à Configuration -> Recherche et métadonnées -> Search-API -> Index -> data_index .

Étape 4 : Configuration de l'index de recherche
Donnez un nom à votre index, puis sélectionnez Contenu comme sources de données, car nous indexerons les entités de contenu ici.
Vous pouvez ensuite passer à la section suivante - Configuration de la source de données (ici - Contenu). Ici, vous pouvez choisir de sélectionner tous les lots ou de n'en sélectionner que quelques-uns dans la liste ci-dessous à indexer.
Ensuite, sélectionnez votre serveur que vous aviez déjà créé (ici - serveur de données). Sélectionnez l'option " Indexer les éléments immédiatement " pour commencer le processus d'indexation. Cliquez sur Enregistrer.

Configuration de la source de données
Étape 5 : Ajout de champs pour l'indexation
Ensuite, nous devons ajouter des champs à indexer. Accédez à Configuration -> Recherche et métadonnées -> API de recherche -> index de données et sélectionnez l'onglet Champs . Cliquez sur le bouton Ajouter des champs pour créer des champs selon vos besoins.

Étape 5 : Ajout de champs pour l'indexation
Étape 6 : indexation du contenu
Sous le même emplacement, cliquez sur l'onglet Affichage pour lancer le processus d'indexation de votre contenu. Dans la section Commencer l'indexation maintenant, cliquez sur le bouton Indexer maintenant . Il vous montrera alors une barre de progression avec le statut du nombre d'éléments qui ont été indexés.


Étape 6 : indexer le contenu
Étape 7 : Création d'une vue
Nous allons maintenant créer une vue pour les données qui doivent être indexées et affichées pour vos utilisateurs. Accédez à Structure -> Vues -> Ajouter une vue .

Étape 7 : Création d'une vue
Donnez un nom à la vue.
Dans la liste déroulante Afficher les paramètres, sélectionnez l'index que vous avez créé à l'étape 4.
Créez une page pour vos résultats de recherche en cochant la case Créer une page sous l'onglet Paramètres de la page. Donnez un nom et un chemin pour le même.
Sous Éléments à afficher , sélectionnez 0 si vous souhaitez afficher tous les résultats sur une seule page. Sinon, sélectionnez un nombre de résultats à afficher.
Sous Paramètres d'affichage de la page, vous pouvez sélectionner le format dans lequel vous souhaitez afficher vos résultats : tableau, grille, liste HTML ou liste non formatée. Nous avons sélectionné la liste non formatée ici. Cliquez sur Enregistrer.
Étape 8 : Ajout de champs à la vue
Ici, nous allons ajouter des champs que nous avons indexés précédemment à la vue.
Allez dans Vues, cliquez sur le bouton Ajouter à côté de la section Champs. Sélectionnez les champs, cliquez sur Ajouter et configurer.
Sous Paramètres de rendu, cochez la case Lien vers le contenu afin que les résultats affichés soient cliquables.
Cliquez sur Enregistrer.

Étape 8 : Ajout de champs à la vue
Étape 9 : Configuration des facettes
Commençons maintenant à configurer et à activer les facettes. Accédez à Configuration -> Recherche et métadonnées -> Facettes
Cliquez sur le bouton Ajouter une facette.

Étape 9 : Configuration des facettes
Sélectionnez la source de la facette - Ce sera votre vue que vous avez créée précédemment.
Sélectionnez le champ - Cela affichera les champs que vous avez ajoutés pour l'indexation à l'étape 5.
Donnez un nom à la facette.
Cliquez sur Enregistrer.
Ensuite, vous verrez alors plus d'options de configuration pour afficher les facettes (comme indiqué dans l'image ci-dessous). Les widgets répertorient un certain nombre d'options telles que Liste de liens, tableau, liste déroulante, etc. Vous pouvez choisir ce qui convient le mieux à votre site Web.
Sélectionnez l'option « Transformer l'ID d'entité en libellé » pour éviter d'afficher le nom de la machine du type de contenu.
Cliquez sur Enregistrer.

Étape 10 : Placer les blocs Facet dans les régions de page choisies
Ensuite, placez les facettes que vous avez créées sous forme de blocs dans une région de page de votre choix.
Accédez à Structure -> Disposition de bloc .
Sélectionnez la région de la page où vous souhaitez placer le bloc contenant les facettes.
Ici, nous sélectionnons la barre latérale . Cliquez sur le bouton Placer un bloc à côté de la barre latérale.
Dans la boîte de dialogue suivante, recherchez le nom de la facette et cliquez sur Placer le bloc.

Étape 10 : Placer les blocs Facet dans les régions de page choisies
Dans la section Configurer le bloc, mentionnez le chemin de la page de recherche que vous avez précédemment créé. Ici - « recherche sur le site » est notre page que nous avons créée.
Donnez un nom d'affichage pour votre bloc et cochez la case Afficher le titre si vous souhaitez que le nom du bloc soit affiché (ici – Tapez).
Cliquez sur Enregistrer le bloc .
Le résultat
Et juste comme ça, votre page de recherche à facettes et vos fonctionnalités sont prêtes ! Notez la facette appelée Type (nom d'affichage) qui a la page de base et l'article répertoriés comme types de contenu à filtrer.

Résultat : la page de recherche à facettes
