Fermer

octobre 9, 2024

Recherche de contenu avec Optimizely Graph / Blogs / Perficient

Recherche de contenu avec Optimizely Graph / Blogs / Perficient


Optimizely Graph vous permet de récupérer du contenu et de synchroniser les données d’autres produits Optimizely. Pour la recherche de contenu, cela vous permet de créer des outils de recherche personnalisés qui transforment les entrées de l’utilisateur en requête GraphQL, puis de traiter les résultats dans une page de résultats de recherche.

Pourquoi utiliser Graph pour la recherche de contenu ?

Les avantages d’un service de recherche basé sur Optimizely Graph incluent :

  • Résultats de recherche plus rapides.
  • Meilleure gestion des erreurs.
  • Plus de flexibilité sur la logique de recherche.
  • Capacité de recherche multi-applications et multiplateformes.

Explorons les étapes pour que cela fonctionne à l’aide du projet Alloy. Tout d’abord, obtenez les clés/secrets du graphique de contenu auprès d’Optimizely.

Mise en œuvre: Cela implique deux étapes.

#1 : Configuration côté serveur et requêtes

  • Ajoutez les clés du graphique de contenu et le secret dans appSettings.json

Paramètres des applications

  • Installez le Optimizely.ContentGraph.Cms package, et notez que l’API Content Delivery doit également être installée comme condition préalable au fonctionnement du graphique.
    • Les packages requis sont surlignés en rouge. L’initialisation de l’API Content Delivery et du Graph dans IServiceCollection. Des options de configuration supplémentaires sont disponibles selon les besoins.

Forfaits

  • Après avoir exécuté le code, vous devriez voir l’option Optimizely Graph dans le CMS.

Graphique CMS

  • Exécutez la tâche d’indexation à partir de l’option Synchronisation du contenu. Une fois terminé, tous les types de contenu indexés seront visibles.
    • L’écran ci-dessous affiche l’état de la tâche et vous pouvez explorer le contenu indexé en cliquant sur le lien Détails. Les types de contenu indexés disponibles pour les requêtes sont surlignés en vert.

Contenu indexé

  • Avec cela, vous devriez pouvoir interroger le contenu dans le terrain de jeu GraphQL en sélectionnant n’importe quel type de contenu de page

Requête Graphql

#2. Configuration côté client et requêtes

Maintenant que l’interrogation côté serveur est prête, configurons le côté client pour qu’il interroge à partir du code de l’application.

  • Installez les packages suivants :
    • StrawberryShake.Server
    • StrawberryShake.Transport.Http.

Outils à fraises

  • Nous devons également installer StrawberryShake.Tools sur la machine
    • outil dotnet installer StrawberryShake.Tools -g
  • Ensuite, nous allons créer un exemple de requête GraphQL pour générer un proxy/schéma. Copiez la même requête de la configuration côté serveur dans un .graphql déposer. Créer un Queries dossier et placez le fichier de requête à l’intérieur.

Tester la requête

  • Accédez au dossier du projet actuel dans le terminal et exécutez la commande suivante, en remplaçant le OptimizelyGraphSingleKeyValue avec la clé reçue d’Optimizely (comme indiqué dans l’étape appSettings) :
    • dotnet-graphql init https://cg.optimizely.com/content/v2?auth={OptimizelyGraphSingleKeyValue} -n AlloyGraphClient

Générateur de schéma

  • Cela générera trois fichiers pour le schéma GraphQL, comme indiqué ci-dessous.

Fichiers de schéma

  • L’étape précédente crée également le client StrawberryShake dans la solution, qui sera utilisé pour les requêtes. Le nom du client correspondra à l’espace de noms fourni précédemment. Depuis que nous avons utilisé -n AlloyGraphClientle client généré sera AddAlloyGraphClient
    • Configurez l’adresse de base pour utiliser la valeur Optimizely Single Key dans les paramètres du graphique.

Code client du schéma

  • Ceci termine la configuration et nous devrions maintenant pouvoir utiliser ce client pour interroger le code. Le client génère une interface suivant un modèle de dénomination similaire ; ici, ce sera IAlloyGraphClient
    • Injectez cette interface dans le StartPageController et vérifier les résultats

Interrogation dans le contrôleur Résultats de la requête dans le contrôleur

    • Comme nous pouvons le voir, les données sont renvoyées en fonction de la requête. Ceci est maintenant prêt à être cartographié et affiché dans les vues.
  • GraphQL prend en charge une gamme complète de fonctionnalités, notamment les requêtes et le filtrage. Il est facile de vérifier les requêtes dans le terrain de jeu et d’appliquer ces modifications au .graphql fichier de requête. Si vous apportez des ajouts ou des modifications à la requête, assurez-vous que le dernier schéma est téléchargé lorsque vous reconstruisez le code.






Source link