Élaboration d'une recherche pour des cas d'utilisation courants
Objectifs de formation
Une fois cette unité terminée, vous pourrez :
- Décrire comment effectuer une recherche au sein d’un objet unique
- Expliquer comment effectuer une recherche au sein de plusieurs objets
- Présenter comment réaliser une recherche au sein d’un objet personnalisé
Cloud Kicks, votre nouvel environnement de travail
Imaginons que vous êtes la nouvelle rock star du développement d’une entreprise dynamique baptisée Cloud Kicks. Elle fabrique des baskets personnalisées à la fois très confortables, élégantes et respectueuses de l’environnement : celles-ci connaissent un véritable succès, aussi bien auprès des coureurs professionnels que des sportifs du dimanche.
Vous avez pour mission de créer une base de connaissances en ligne à l’intention des clients et un site Web interne sur les produits, pour les employés de Cloud Kicks. Toutes les données proviennent de l'organisation Salesforce de Cloud Kicks. Une mission parfaite pour une solution de recherche personnalisée, vous ne croyez pas ? Utilisons ce scénario pour passer en revue quelques cas d’utilisations courants de solutions de recherche personnalisée. Nous allons voir quelles situations s’y prêtent le mieux et observer quelques exemples.
Recherche au sein d'un objet unique
Cloud Kicks est une start-up en pleine croissance et le service marketing fait tout ce qu'il peut pour faire connaître la marque. Il a lancé plusieurs campagnes et procède à leur suivi via Salesforce. Les équipes chargées du marketing et des ventes ont demandé un moyen de faire une recherche portant exclusivement sur les campagnes dans le site interne que vous êtes en train de développer. Les recherches sur des objets uniques sont idéales quand les utilisateurs ont besoin de trouver rapidement un type d'enregistrement particulier et qu’ils ne veulent pas faire le tri parmi des enregistrements qui ne les concernent pas.
Pour faire une recherche au sein d'un objet unique avec SOSL, spécifiez simplement cet objet dans la demande. C'est aussi simple que cela.
FIND {term} RETURNING ObjectTypeName
Dans l’exemple, term
est l’expression saisie par l’utilisateur. ObjectTypeName limite les résultats de recherche au seul sObject spécifié. Donc, si l'utilisateur souhaite trouver la campagne par e-mail de mars 2016, il doit saisir la requête suivante :
FIND {march 2016 email} RETURNING Campaign
Dans la prochaine unité, nous allons vous présenter tout ce que vous pouvez accomplir avec l’élément RETURNING et comment affiner votre recherche pour obtenir les meilleurs résultats.
Recherche sur des objets multiples
Cloud Kicks aime ses clients. L’entreprise veut proposer à ses utilisateurs un portail central où ils pourraient poser des questions et partager des informations sur le site. Plusieurs types d'informations seront présentés : vidéos, articles, questions et documents PDF. Mais les utilisateurs ne se soucient pas vraiment du type de contenu présenté. Ils veulent simplement trouver l’information qu’ils cherchent, et vite. C’est là que la recherche sur des objets multiples montre tout son intérêt : Vous effectuez une recherche sur plusieurs objets en même temps parce que le type d’enregistrement importe peu à l’utilisateur. Il se peut aussi que l’utilisateur tienne à voir différents types d'objet dans les résultats.
Heureusement, il n’y a rien de plus facile que d'ajouter un autre objet en SOSL. Énoncez simplement une liste séparée par des virgules.
FIND {term} RETURNING ObjectTypeName1, ObjectTypeName2, ObjectTypeNameYouGetTheIdea
Pour en revenir à notre scénario, un client de Cloud Kicks se demande si certaines chaussures sont fabriquées dans un matériau recyclé. Vous configurez la recherche de la base de connaissances en ligne de manière à renvoyer, dans les résultats, plusieurs objets correspondant au terme recherché.
FIND {recycled materials} RETURNING Product2, ContentVersion, FeedItem
Rappelez-vous : si vous ne précisez pas d’objet dans l’élément RETURNING, celui-ci n’apparaît pas dans les résultats.
Recherche sur des objets personnalisés
Salesforce comprend de nombreux objets standard immédiatement disponibles. Mais Cloud Kicks fait des chaussures sur mesure et il est donc logique qu’elle utilise des objets personnalisés. Celui qui vous intéressera particulièrement est tout nouveau : Merchandise. Cet objet contient des informations sur le modèle, l’identifiant, la couleur, la matière, le nom et le prix de tout ce que Cloud Kicks a à offrir. Beaucoup de personnes internes à Cloud Kicks ont besoin d'accéder à ces informations, notamment le personnel de l'assistance, des ventes et de l’expédition.
Pour le site interne que vous êtes en train de développer, vous souhaitez ajouter une case de recherche portant uniquement sur l’objet personnalisé Merchandise. Il n’existe pas de façon sophistiquée de spécifier des objets personnalisés dans une recherche SOSL. Incluez le nom du sObject comme s’il s’agissait de n’importe quel autre objet standard, et adjoignez-y le suffixe __c.
FIND {pink hi\-top} RETURNING Merchandise__c
SOQL
Nous avons beaucoup parlé de SOSL, mais qu’en est-il de SOQL ? SOQL est utile quand vous souhaitez effectuer des recherches sur des objets uniques, quand vous savez quels champs explorer, quand le terme de recherche correspond exactement au champ (contrairement à une correspondance partielle ou désordonnée), quand vous avez besoin d'un chiffre, d'une date ou de données sur une case à cocher, et quand vous souhaitez recevoir un nombre restreint de résultats. (Pour consulter la liste complète des situations qui se prêtent à l’utilisation de SOQL, reportez-vous à l’unité précédente.)
En étudiant les cas d’utilisation courants précédents de ce module, vous avez sans doute remarqué quelques signaux d'alerte concernant l’utilisation de SOQL. Par exemple :
- Recherches sur des objets uniques : SOQL fonctionne quand vous savez dans quel champ résident les données. Comme nous n’avions pas précisé le champ pour march 2016 email, il valait mieux utiliser une recherche SOSL que SOQL. En règle générale, si une requête ne spécifie pas le champ cible de la recherche, optez pour SOSL.
- Recherche sur des objets multiples : comme vous ne pouvez récupérer que les données d’objets multiples qui ont un lien les unes avec les autres, la recherche sur des objets multiples en SOQL n’a qu’un intérêt limité. Dans notre scénario, les objets n'étaient pas apparentés : nous avons donc choisi SOSL.
- Recherches sur des objets personnalisés : comme dans le cas d’une recherche sur objet unique, SOQL permet d’effectuer une recherche sur des objets personnalisés. Mais rappelez-vous que nous n’avions pas précisé dans quel champ se trouve notre terme de recherche, pink hi-top. D'autre part, les recherches SOQL portent sur la base de données et non sur l’index. Imaginons que l’enregistrement ait en réalité inclus pink sneaker hi-top. SOQL ne serait pas capable de renvoyer les bons résultats.