Skip to main content

Optimisation des résultats de recherche

Objectifs de formation

Une fois cette unité terminée, vous pourrez :

  • Expliquer comment créer des recherches textuelles efficaces pour renvoyer des résultats de recherche mieux ciblés.
  • Expliquer comment créer une fonctionnalité de suggestion automatique pour les recherches.
  • Énumérer les mesures que peuvent prendre les administrateurs pour améliorer les résultats de recherche des utilisateurs.

Créer des recherches textuelles efficaces

Les requêtes de recherche peuvent être coûteuses. Plus les données sur lesquelles porte la recherche sont volumineuses, plus vous obtenez de résultats, et plus vous risquez de ralentir toute l’opération.

Comment éviter les recherches qui traînent en longueur ? Vous devez avoir en tête deux stratégies fondamentales.

  • Limitez les données au sein desquelles vous effectuez la recherche
  • Limitez les données que vous renvoyez

Mais il ne faut pas aller trop loin. Si vous êtes trop efficace, la recherche sera moins utile. Les utilisateurs détestent voir s'afficher enregistrement introuvable quand ils savent très bien qu’il existe.

Voici nos recommandations pour trouver le juste milieu. Commençons avec un exemple en SOSL pour comprendre les concepts de base.

Pour limiter le volume des données explorées, utilisez IN SearchGroup. Vous pouvez rechercher un nom, une adresse e-mail, un numéro de téléphone ou une remarque, ou bien décider de faire porter la recherche sur tous les champs. Par exemple, si vous ne cherchez qu’une adresse e-mail, faites une recherche dans les champs d'e-mail seulement.

FIND {jsmith@cloudkicks.com} IN EMAIL FIELDS RETURNING Contact

Parlons maintenant des résultats de la recherche. Il se trouve que les utilisateurs pensent qu’il est judicieux de voir l’ensemble des résultats. Mais si vous obtenez des milliers d’enregistrements, il faut peut-être revoir ce principe. Demandez-vous comment limiter les résultats ou au moins les diviser en groupes plus petits et plus digestes.

Une fois encore, avec SOSL, vous pouvez utiliser RETURNING FieldSpec pour préciser les données à renvoyer. Nous l’avons utilisé dans l’unité précédente, mais parlons maintenant de ses aspects plus avancés.

  • ObjectTypeName : spécifie l’objet à renvoyer.
  • FieldList : spécifie les champs à renvoyer.
  • ORDER By : spécifie les champs employés pour trier les résultats. Vous pouvez aussi préciser si l’ordre est croissant ou décroissant.
  • LIMIT n : définit le nombre maximal d’enregistrements renvoyés pour l’objet donné.
  • OFFSET n : définit le décalage de la rangée de départ dans le groupe de résultats renvoyés par votre requête.

Cela fait beaucoup d’informations à digérer. Allons-y étape par étape.

Étape Objectif Exemple
1 Spécifiez l’objet à renvoyer.
FIND {Cloud Kicks} RETURNING Account
2 Spécifiez les champs à renvoyer.
FIND {Cloud Kicks} RETURNING Account(Name, Industry)
3 Triez les résultats par champ, dans l’ordre croissant (qui est l’ordre appliqué par défaut).
FIND {Cloud Kicks} RETURNING Account (Name, Industry ORDER BY Name)
4 Définissez le nombre maximal d’enregistrements renvoyés
FIND {Cloud Kicks} RETURNING Account (Name, Industry ORDER BY Name LIMIT 10)
5 Définissez le décalage de la rangée de départ des résultats.
FIND {Cloud Kicks} RETURNING Account (Name, Industry ORDER BY Name LIMIT 10 OFFSET 25)

Maintenant que vous êtes plus à l’aise, tentons d’employer quelques déclarations WITH, qui filtrent les enregistrements en fonction de certains champs prédéfinis. En préfiltrant les résultats, vous renvoyez moins de suggestions et vous améliorez les performances de la recherche. Et de leur côté, les utilisateurs ne sont plus submergés sous les résultats. mais quels sont les filtres WITH proposés par SOSL ? Les voici :

Ressource Exemple
WITH DIVISION
FIND {Cloud Kicks} RETURNING Account (Name, Industry)
    WITH DIVISION = 'Global'
WITH DATA CATEGORY 
FIND {race} RETURNING KnowledgeArticleVersion
    (Id, Title WHERE PublishStatus='online' and language='en_US')
    WITH DATA CATEGORY Location__c AT America__c
WITH NETWORK
FIND {first place} RETURNING User (Id, Name),
FeedItem (id, ParentId WHERE CreatedDate = THIS_YEAR Order by CreatedDate DESC)
WITH NETWORK = '00000000000001'
WITH PRICEBOOK
Find {shoe} RETURNING Product2 WITH PricebookId = '01sxx0000002MffAAE'

Vous commencez à comprendre ? Vous êtes manifestement prêt à voir comment cela fonctionne en SOQL. La bonne nouvelle, c’est que c’est quasiment la même chose. SOQL présente des syntaxes similaires sous SELECT qui effectuent les mêmes opérations que SOSL. La liste complète des syntaxes et des options qui permettent de limiter les recherches à des catégories de données ou un réseau se trouve dans la documentation du développeur. Voici un comparatif pratique de quelques-unes des syntaxes que nous avons abordées.

Je souhaite… SOSL SOQL
Limiter les données sur lesquelles porte la recherche IN SearchGroup WHERE
Spécifier les données à renvoyer dans les résultats Returning FieldSpec SELECT
Trier les résultats ORDER BYLIMITOFFSET ORDER BYLIMITOFFSET
Filtrer les résultats par catégorie de données WITH DATA CATEGORY WITH DATA CATEGORY

Afficher les résultats suggérés

Rappelez-vous de la toute première unité, quand nous avons parlé de la suggestion automatique d’enregistrements et de l’art de chercher des informations sur le trail ? Passons ces concepts en revue de façon un peu plus détaillée.

Pour vous rafraîchir la mémoire, vous pouvez utiliser des API afin que des suggestions apparaissent au fur et à mesure que l’utilisateur tape dans la barre de recherche. Les suggestions proposent des enregistrements dont le titre correspond à ce que saisit l’utilisateur. Cette fonctionnalité permet à vos utilisateurs d'arriver plus rapidement à leur but, ce qui est exactement l’objectif de la recherche.

Pour profiter de cette fonctionnalité, voici les ressources REST incontournables. Toutes ces ressources ont une syntaxe et des paramètres similaires : utilisez celle qui correspond le mieux à votre cas d'utilisation.

  • Recherche parmi des enregistrements suggérés : renvoie une liste d’enregistrements dont les noms correspondent à la chaîne de recherche de l’utilisateur. La ressource Suggestions offre à l’utilisateur un raccourci vers des enregistrements pertinents avant même qu’une recherche complète ait été effectuée.
  • Recherche parmi des titres d'articles suggérés : renvoie une liste d'articles Salesforce Knowledge dont les titres correspondent à la chaîne de recherche de l’utilisateur. Offre un raccourci permettant d'accéder directement à des articles potentiellement pertinents avant que l’utilisateur n’ait lancé une véritable recherche.
  • Suggestion d'articles SObject pour la requête : renvoie une liste d'articles Salesforce Knowledge pour un cas particulier.

Utilisons Recherche parmi des titres d'articles suggérés pour comprendre comment fonctionne la suggestion. Nous présentons la syntaxe de base, mais consultez la documentation de l’API pour connaître la liste complète des paramètres disponibles.

/vXX.X/search/suggestTitleMatches?q=search string&language=article language&publishStatus=article publication status

Utilisons maintenant cette syntaxe avec un exemple spécifique. Notre requête aura l’aspect suivant.

/vXX.X/search/suggestTitleMatches?q=race+tips&language=en_US&publishStatus=Online

Et voici la réponse JSON.

{
  "autoSuggestResults" : [ {
    "attributes" : {
    "type" : "KnowledgeArticleVersion",
    "url" : "/services/data/v30.0/sobjects/KnowledgeArticleVersion/ka0D00000004CcQ"
    },
  "Id" : "ka0D00000004CcQ",
  "UrlName" : "tips-for-your-first-trail-race",
  "Title" : "race tips",
  "KnowledgeArticleId" : "kA0D00000004Cfz",
  "isMasterLanguage" : "1",
  } ],
  "hasMoreResults" : false
}

Travail avec les administrateurs

L’optimisation des résultats de recherche est un sport d'équipe. Heureusement, vous avez le meilleur coéquipier possible à vos côtés : l’administrateur MVP. Voici comment gagner facilement quelques points d'amélioration des résultats de recherche en collaborant avec votre administrateur.

La première étape consiste à créer et optimiser des groupes de synonymes comprenant des termes et des phrases qui seront traités de façon équivalente par les recherches. Une recherche contenant l’un des termes d’un groupe de synonymes renvoie les résultats de tous les termes de ce groupe. Par exemple, une recherche portant sur USB renvoie des résultats pour tous les termes du groupe de synonymes, qui contient USB, clé USB, stockage amovible et mémoire flash. Vous comprenez sans doute déjà tout l’intérêt des groupes de synonymes. L’utilisateur obtiendra les résultats dont il a besoin même s’il n'utilise pas le « bon » terme de recherche. Vous n’avez donc pas besoin de renommer les produits.

La création de groupes de synonymes est facile.
  1. Dans Configuration, saisissez Synonymes dans la zone Recherche rapide, puis sélectionnez Synonymes.
  2. Sous Groupes de synonymes personnalisés, cliquez sur Nouveau pour créer un groupe de synonymes ou sur Modifier en regard d’un groupe existant.
  3. Ajoutez deux à six synonymes par groupe. Un synonyme peut se composer d'un ou plusieurs mots. Pas de caractères spéciaux
Remarque

Les groupes de synonymes standard, fournis par Salesforce, sont activés par défaut.

Vous devez importer une quantité importante de synonymes ? Profitez de l’API de métadonnées qui se trouve dans la section des références.

Maintenant que les groupes de synonymes sont établis, l'étape suivante consiste à promouvoir des termes de recherche pour les articles Salesforce Knowledge.

Les termes de recherche promus sont utiles afin d'attirer l’attention sur un article couramment utilisé pour résoudre un problème. Et ils sont faciles à mettre en place. Les administrateurs trouvent l'article parfait et ajoutent des termes à la liste connexe Termes de recherche promus. Les utilisateurs qui saisissent ces mots-clés voient apparaître l'article sélectionné en haut des résultats de recherche.

Par exemple, imaginons que votre équipe d'assistance a finement créé un article d'une perfection absolue pour expliquer comment renvoyer les chaussures qui ne vont pas. L’administrateur arrive et modifie l'article pour inclure les termes de recherche retour et mauvaise pointure. Quand l’utilisateur recherche ces termes, l’article apparaît spontanément.

Voici quelques conseils pour aider votre administrateur à ajuster finement les termes de recherche promus.

  • Le nombre de caractères maximal par terme est de 100. Pour un fonctionnement optimal, limitez chaque terme promu à quelques mots clés.
  • N’exagérez pas. Choisissez-les avec soin de manière à créer un nombre limité de termes promus et un nombre limité d'articles promus par terme. Si vous ajoutez trop de termes de recherche promus, vous risquez de perdre en pertinence pour l’utilisateur et de générer des résultats indésirables. Votre organisation peut créer un maximum de 2 000 termes promus.
  • La recherche d'article reconnaît un terme promu à chaque fois que tous les mots-clés du terme apparaissent dans les termes de recherche de l’utilisateur, dans n’importe quel ordre. Chaque mot-clé doit correspondre exactement.

Pour conclure

La recherche n’est peut-être pas la fonction la plus glamour de Salesforce, mais c’est la plus utilisée.

Nous espérons qu’au cours de ce module, vous avez appris à comprendre et à apprécier tout ce dont elle est capable. Vous avez découvert l'architecture de la recherche, et vous savez comment élaborer des solutions de recherche pour des cas d’utilisation courants, ainsi que comment créer des requêtes de recherche efficace. Maintenant, c’est à vous de vous lancer et de créer une solution de recherche qui impressionnera les utilisateurs.

Partagez vos commentaires sur Trailhead dans l'aide Salesforce.

Nous aimerions connaître votre expérience avec Trailhead. Vous pouvez désormais accéder au nouveau formulaire de commentaires à tout moment depuis le site d'aide Salesforce.

En savoir plus Continuer à partager vos commentaires