Comprendre le fonctionnement des modèles d’affichage d’élément et de la mise en surbrillance des résultats dans l’expérience de recherche classique dans SharePoint Server

S’APPLIQUE À :  yes-img-13 2013  yes-img-16 2016  yes-img-19 2019  yes-img-se Subscription Edition  no-img-sop SharePoint in Microsoft 365

Voici les titres des sections de cet article :

Procédure de mappage de votre lecteur réseau

Lorsque vous travaillez avec des modèles d'affichage, il est recommandé de mapper le lecteur réseau. De cette manière, vous serez en mesure de travailler avec des modèles d'affichage de l'Explorateur Windows. Pour connaître la procédure à suivre, voir Procédure de mappage de votre lecteur réseau.

Pourquoi est-il important de comprendre le fonctionnement des noms des propriétés gérées ?

La section Brève présentation du fonctionnement de la recherche de la rubrique d'introduction de cette série explique comment les colonnes de site et leurs valeurs sont « transformées » en propriétés gérées et en valeurs de propriétés gérées lors d'une analyse. Il est important que vous appreniez à reconnaître le nom de la propriété gérée qui représente une colonne de site, car, pour ajouter de nouvelles informations à vos résultats de recherche, vous devrez ajouter le nom de la propriété gérée à un modèle d'affichage d'élément. Si vous n’êtes pas sûr de la façon dont les propriétés gérées sont nommées, voir From site column to managed property - What's up with that?.

Cela peut sembler difficile, mais ne désespérez pas. Plus loin dans cette série, nous vous indiquerons les étapes à suivre pour trouver et ajouter un nom de propriété gérée à un modèle d'affichage d'élément.

À propos des éléments importants du modèle d’affichage d’élément

L’article Understanding how search results are displayed in SharePoint Server explained that SharePoint Server includes many item display templates. Bien que ces modèles ne soient pas identiques à 100 %, ils contiennent tous certains éléments qui contrôlent la façon dont les résultats de la recherche s'affichent.

Commençons donc par ouvrir un modèle d'affichage d'élément, par exemple Item_Excel.

Notes

Puisque nous avons mappé un lecteur réseau, nous pouvons ouvrir le fichier dans notre éditeur HTML préféré, par exemple Notepad++.

Ouvrir le modèle d'affichage d'élément

À propos de la <title> balise

Le haut du modèle d’affichage possède une <title> balise. Le texte de cette balise sera affiché lors des configurations effectuées dans l'interface utilisateur SharePoint, par exemple lorsque vous configurez un type de résultat.

La capture d’écran suivante montre comment le texte de la balise dans le modèle d’affichage d’élément, Excel Item , est affiché dans la configuration du type Microsoft Excel <title> type de résultat.

Titre d'élément Excel

À propos de l’élément ManagedPropertyMapping

Après la <title> balise, il existe un ensemble d’éléments dans une balise, dont <mso:CustomDocumentProperties> le plus important est <mso:ManagedPropertyMapping> .

L'élément ManagedPropertyMapping contient les propriétés gérées qui peuvent être utilisées pour afficher les résultats de la recherche. La syntaxe suivante est utilisée pour stocker ces propriétés dans le modèle d'affichage d'élément :

'<Display template reference name>':<Managed property name>'

La capture d'écran ci-dessous présente l'élément par défaut ManagedPropertyMapping pour le modèle d'affichage Élément Excel.

Mappage de propriété gérée

Notez que le nom de référence du modèle d'affichage est identique au nom de la propriété gérée, par exemple 'Title':'Title' or 'FileType':'FileType'. Même si cela peut sembler un peu déroutant au premier abord, l'utilisation de noms identiques facilitera la mise à jour du fichier.

Par défaut, les propriétés gérées incluses dans cet élément varient légèrement entre les différents modèles d'affichage d'élément. Toutefois, deux propriétés gérées sont incluses dans tous les modèles d’affichage : HitHighlightedProperties et HitHighlightedSummary. Nous étudierons ces deux propriétés dans la section « Comment fonctionne la magie de la mise en surbrillance des résultats ? » de cette rubrique.

À propos de la <body> balise

À <body> l’intérieur de la balise se trouve <div> une balise avec un ID. Par défaut, l’ID de cette <div> balise correspond au nom du fichier. Dans notre exemple, il s'agit de Item_Excel.

ID Div

Tout code HTML ou code que le modèle d’affichage doit utiliser pour afficher les résultats de la recherche est inclus dans cette <div> balise.

Dans cette <div> balise, un ou plusieurs blocs commencent par <!--#_ and end with _#--> . Le code JavaScript est utilisé à l'intérieur de ces blocs et le code HTML à l'extérieur. Vous pouvez également utiliser ces blocs pour contrôler le code HTML avec des instructions conditionnelles. Nous aborderons ce thème dans un futur article.

À propos de la variable du modèle d’affichage de panneau de pointage

Nous devons étudier une variable qui est utilisée à l'intérieur de ce bloc : var hoverUrl. Dans Understanding how search results are displayed in SharePoint Server, we covered how each item display template contains a reference to a hover panel display template. La variable var hoverUrl contient cette référence.

La capture d'écran ci-dessous montre comment la variable var hoverUrl pointe vers le modèle d'affichage de panneau de pointage Item_Excel_HoverPanel.

URL var Hover

À propos de l’icône qui s’affiche dans les résultats de la recherche

Mentionnons également la valeur ctx.CurrentItem.csr_Icon. Celle-ci pointe vers l'icône qui s'affiche en regard de chaque résultat de la recherche, par exemple l'icône Excel.

La capture d'écran ci-dessous montre comment la valeur ctx.CurrentItem.csr_Icon pointe vers une icône.

Valeur d'icône

Plus tard dans cette série, nous verrons comment vous pouvez modifier cette valeur pour qu'elle pointe vers une icône personnalisée.

À propos de la référence vers le modèle d’affichage d’élément commun

Vers la fin de l’élément , une ligne de code très importante est incluse <div> : #=ctx. RenderBody(ctx)=#. Dans Understanding how search results are displayed in SharePoint Server, nous avons vu comment il s’agit d’une référence au modèle d’affichage d’élément utilisé par tous les types de résultats.

La capture d'écran ci-dessous montre comment la ligne de code #=ctx.RenderBody(ctx)=# est utilisée dans le modèle d'affichage Item_Excel.

Référence d'élément courant

À propos de la mise en surbrillance des résultats

Même si vous n'avez jamais entendu parler de la mise en surbrillance des résultats auparavant, vous avez vu cette fonction à l'oeuvre, même si vous n'y avez pas accordé beaucoup d'importance.

La fonction de mise en surbrillance des résultats prend en compte les mots saisis par un utilisateur dans la zone de recherche et les affiche en gras dans les résultats de la recherche. De cette façon, les utilisateurs peuvent facilement passer les résultats de la recherche en revue pour voir dans quel contexte les mots de leur requête sont utilisés. Par exemple, dans la capture d'écran ci-dessous, nous pouvons voir que « result type » a été entré dans le champ de recherche. Dans les résultats de la recherche, « result » et « type » sont affichés en gras.

Surligneur d'éléments correspondants

Comment fonctionne la magie de la mise en surbrillance des résultats ?

Par défaut, la mise en surbrillance des résultats est activée pour certaines propriétés gérées. Pour les identifier, sur une page de résultats de la recherche, modifiez le composant WebPart Résultats de la recherche. Dans le volet des outils du composant WebPart, développez la section Modèles d'affichage. Les propriétés pour lesquelles la mise en surbrillance des résultats est activée sont répertoriées dans la section Propriétés correspondantes (JSON).

Composant WebPart des propriétés mises en surbrillance correspondantes

C'est un peu plus compliqué que cela, mais, pour l'instant, il est important que vous sachiez où ces propriétés gérées sont répertoriées.

Revenons à la recherche « result type » et examinons de plus près le premier résultat. Celui-ci a été renvoyé car les valeurs des colonnes Titre et Nom du projet/Nom du fichier contiennent les mots saisis.

Élément dans les résultats de recherche

Comme nous l'avons expliqué dans la section « À propos de l'élément ManagedPropertyMapping » de cette rubrique, l'élément ManagedPropertyMapping figurant dans le modèle d'affichage d'élément contient les propriétés gérées qui peuvent être utilisées pour afficher les résultats de la recherche. Sachant cela, vous pouvez comprendre pourquoi « About configuring result types » est affiché. Cela est dû au fait que « À propos de la configuration des types de résultats » est la valeur du titre dans l’élément de liste et title est l’une des propriétés gérées trouvées dans l’élément ManagedPropertyMapping dans le modèle d’affichage. Les mots « result type » (type de résultat) sont affichés en gras (résultat mis en surbrillant), car Title est l’un des résultats mis en surbrillrillez dans le volet Web Des résultats de la recherche.

Mais pourquoi la valeur « CSH_Configure_ result_types... » est-elle affichée dans les résultats de la recherche ? Dans l'élément de liste, nous pouvons voir qu'il s'agit de la valeur correspondant à Nom du projet/Nom du fichier, mais la propriété gérée pour cette colonne de site n'est pas incluse dans l'élément ManagedPropertyMapping du modèle d'affichage. Elle n'est pas non plus répertoriée comme l'une des propriétés mises en surbrillance dans le composant WebPart Résultats de la recherche. Alors, pourquoi cette valeur est-elle affichée ?

À propos de la propriété « résumé magique »

Si vous avez pensé à la mise en surbrillance des résultats, vous avez raison. En plus des propriétés par défaut répertoriées dans la section Propriétés correspondantes (JSON) du composant WebPart Résultats de la recherche, il existe une propriété qui contient un résumé pour chaque élément. Il s'agit presque d'une propriété magique, car elle stocke un résumé de chaque élément dans l'index de recherche. Ce résumé est créé dans SharePoint, vous n'avez donc pas à vous inquiéter à ce sujet. Ce qu'il est important de noter, c'est que lors de la recherche « result type », une correspondance a été trouvée à la fois dans Titre et dans cette propriété « résumé magique ».

Accrochez-vous ! Je comprends que la valeur du titre s’affiche, car Title est l’une des propriétés gérées trouvées dans le modèle d’affichage de l’élément ManagedPropertyMapping. Cependant, la propriété « résumé magique » n'apparaît pas dans l'élément ManagedPropertyMapping du modèle d'affichage. Alors, pourquoi cette valeur est-elle affichée ?

C’est là que les deux propriétés HitHighlightedProperties et HitHighlightedSummary sont utiles. Le schéma ci-dessous ne représente pas réellement la manière dont SharePoint gère ces propriétés. Vous pouvez toutefois y penser à de la manière suivante :

Organigramme de mise en surbrillance des éléments correspondants

  1. Les propriétés gérées répertoriées dans la section JSON (Hit-highlighted properties) du partie Web Part résultats de la recherche et la propriété « résumé magique » sont transmises à la propriété HitHighlightedProperties.

  2. Toutes les valeurs de la propriété HitHighlightedProperties sont transmises à la propriété HitHighlightedSummary.

  3. Une version tronquée des valeurs de la propriété HitHighlightedSummary est affichée dans le composant WebPart Résultats de la recherche.

Si vous examinez les résultats de la recherche plus en détail, vous remarquez que de nombreux résultats s'affichent suivis de points de suspension.

Points de résultat

Ces points indiquent qu'il s'agit de valeurs de la propriété HitHighlightedSummary .

Si vous ne souhaitez afficher qu'un minimum d'informations pour chaque résultat de la recherche, vous pouvez compter sur la magie de la mise en surbrillance des résultats et probablement accepter l'affichage par défaut des résultats de la recherche. Cependant, si vous voulez afficher des informations personnalisées pour chaque résultat, vous devrez apporter quelques personnalisations.

Dans l’article suivant, vous découvrirez la première étape permettant de personnaliser les résultats de la recherche, à savoir créer un type de résultat.

Article suivant de cette série

Comment afficher les valeurs des propriétés gérées personnalisées dans les résultats de la recherche - Option 1 dans SharePoint Server