Cet article a fait l’objet d’une traduction automatique. Pour afficher l’article en anglais, activez la case d’option Anglais. Vous pouvez également afficher le texte anglais dans une fenêtre contextuelle en faisant glisser le pointeur de la souris sur le texte traduit.
Traduction
Anglais
Informations
Le sujet que vous avez demandé est indiqué ci-dessous. Toutefois, ce sujet ne figure pas dans la bibliothèque.

Personnalisations de la recherche pour SharePoint

Créer personnalisé SharePoint 2013 et SharePoint Online des scénarios de recherche à l'aide d'un annuaire de sites basées sur la recherche, la recherche personnalisée ou la portabilité de la configuration de recherche.

Dernière modification :mardi 11 août 2015

S’applique à :Office 365 | SharePoint 2013 | SharePoint Add-ins | SharePoint Online

Note Remarque

Le nom « Applications pour SharePoint » est remplacé par « Compléments SharePoint ». Lors de la période de transition, il se peut que la documentation et l’interface utilisateur de certains produits SharePoint et outils Visual Studio utilisent toujours le terme « applications pour SharePoint ». Pour plus d’informations, voir Nouveau nom des applications pour Office et SharePoint.

SharePoint recherche vous permet de créer un répertoire de sites basées sur la recherche sans écrire de code personnalisé.

Pour créer un annuaire de sites :

  1. Créer le site de modèles d'affichage de répertoire.

  2. Définir le type de résultat d'annuaire de sites.

  3. Créer la page de résultats.

  4. Modifier les propriétés de composant WebPart de résultats.

Pour créer le site de modèles d'affichage de répertoire :

Remarque Remarque

Cette procédure utilise les modèles d'affichage liés au site sans aucune modification. Si vous souhaitez modifier l'affichage des résultats d'annuaire de sites, de modifier les modèles d'affichage que vous créez.

  1. Ouvrez le lecteur réseau mappé à la Galerie de pages maîtres. Pour plus d'informations, voir Comment : mapper un lecteur réseau à la galerie de pages maîtres de SharePoint 2013.

  2. Créez des copies du modèle d'affichage de fichiers HTML qui mappent les mieux ce que vous essayez d'effectuer. Pour le scénario d'annuaire de site, il s'agira Item_Site.html et Item_Site_HoverPanel.html. Les deux fichiers se trouvent dans le dossier \Display Templates\Search dans le lecteur réseau mappé.

  3. Renommer les copies que vous avez apportées des fichiers Item_SiteDirectory.html et Item_SiteDirectory_HoverPanel.html comme indiqué.

    La figure 1. Modèles d'affichage d'annuaire de sites

    Modèles d’affichage d’annuaire de site
  4. Ouvrez le fichier Item_SiteDirectory.html et apportez les modifications suivantes :

    • Modifiez la valeur de la balise <title> à partir de « Élément de Site » dans « Annuaire de sites ».

    • Modifiez la balise <div> première après l' ouverture <body> ajouter une balise à partir de <div id="Item_Site"><div id="Item_SiteDirectory">.

    • Changer de pointage du Panneau de configuration affichage JavaScript nom du fichier modèle à partir de :
      var hoverUrl = "~sitecollection/_catalogs/masterpage/Display Templates/Search/Item_Site_HoverPanel.js";
      à:
      var hoverUrl = "~sitecollection/_catalogs/masterpage/Display Templates/Search/Item_SiteDirectory_HoverPanel.js";

  5. Ouvrez le fichier Item_SiteDirectory_HoverPanel.html et apportez les modifications suivantes :

    • Modifier la balise <div> après l' ouverture <body> ajouter une balise à partir de :
      <title>Site Hover Panel Test</title>
      à:
      <title>Site Directory Hover Panel</title>

    • Remplacez la balise <title> à partir de :
      <div id="Item_Site_HoverPanel">
      à:
      <div id="Item_SiteDirectory_HoverPanel">

Pour définir le type de résultat de répertoire de site :

  1. Accédez à Paramètres du Site > recherche > Types de résultats, puis cliquez sur Nouveau Type de résultat.

  2. Nom de votre nouveau type de résultat « Annuaire de sites de base ».

  3. Dans la ce que doivent ressembler ces résultats?, sélectionnez l'Annuaire de sites.

    La figure 2. Configuration des résultats de site

    Exemple de configuration de résultat de site
  4. Sélectionnez Enregistrer.

Pour créer la page de résultats :

  1. Dans le menu Paramètres du Site, sélectionnez le contenu du Site.

  2. Sélectionnez Pages.

  3. Dans la bibliothèque de Pages, sélectionnez fichiers > Nouveau Document > Page.

  4. Dans la page Créer une Page, spécifiez « Annuaire de sites » pour le titre et « RépertoireSite » pour le Nom de l'URL.

  5. Choisissez Créer.

Pour modifier les propriétés de composant WebPart de résultats :

  1. Dans la page Annuaire de sites, choisissez paramètres > Modifier la Page.

  2. Dans le Composant WebPart résultats de recherche, cliquez sur le menu Composant WebPart, puis cliquez sur Modifier le composant WebPart.

    La figure 3. Menu du composant WebPart

    Figure 3
  3. Dans le volet d'outils composant WebPart, cliquez sur changer la requête pour ouvrir le Générateur de requêtes.

  4. Dans le champ de texte de la requête, entrez les informations suivantes :
    ContentClass:STS_Web OR ContentClass:STS_Site path:http://<YourServer>

  5. Cliquez sur tester la requête pour vérifier que la syntaxe est correcte. Le volet de Visualisation des résultats de recherche doit afficher les sous-sites au sein du site que vous avez spécifié pour path dans le texte de la requête.

    La figure 4. Générateur de requêtes de composant WebPart résultats de la recherche

    Générateur de requêtes de WebPart de résultats de la recherche
  6. Cliquez sur OK pour fermer le Générateur de requêtes.

  7. Dans les Modèles d'affichage, sélectionnez utiliser des types de résultat pour afficher les éléments.

  8. Dans la liste déroulante type de résultat pour un élément, sélectionnez Base annuaire de sites.

  9. Dans la section aspect, modifiez le titre « Sites I ont accès à ".

  10. Cliquez sur OK pour enregistrer les modifications apportées au composant WebPart et fermer le volet d'outils composant WebPart. La figure suivante illustre un exemple d'une page de répertoire de sites basées sur la recherche.

    La figure 5. Exemple de répertoire de site basé sur la recherche de Contoso

    Exemple d’annuaire de site basé sur une recherche Contoso

Recherche personnalisée est lorsque vous affichez les résultats de recherche ciblés pour l'utilisateur qui a soumis la demande de recherche. Cette section décrit certains scénarios de recherche personnalisé et comment vous pouvez les implémenter.

Votre scénario de news

Dans ce scénario, vous créez une recherche complément qui affiche du contenu pertinent, telles que des actualités et des événements, ciblés pour l'utilisateur.

La figure 6. Votre scénario de recherche personnalisés de News

Votre scénario de recherche personnalisée de nouveautés

Pour implémenter le scénario de news, utilisez le composant WebPart de résultats de recherche SharePoint et les modèles d'affichage par défaut pour afficher les informations de news, y compris le titre, description et image de report. Afficher les 10 premiers éléments de news. Lorsque l'utilisateur choisit l'image de report, le titre ou lien lecture plus, la page d'article de news est chargée.

Sinon, vous pouvez créer une recherche complément à l'aide de l'API (CSOM ou REST) de la requête. Vous pouvez émettre le nombre d'éléments d'actualité à afficher configurable en utilisant les propriétés de complément de recherche.

Une autre option consiste à utiliser l'API de requête pour ajouter la code de l'API qui Récupère les résultats de la recherche directement à la mise en page de la requête.

Pour afficher les informations d'actualités et des événements spécifiques à l'utilisateur :

  1. Modifier la requête pour filtrer les résultats de news et des événements en fonction des propriétés de profil utilisateur comme unité professionnelle, la région et langue.

  2. Extraire le titre, Description, cumulatif image et les propriétés d'URL pour les éléments d'actualité ou des événements.

  3. Implémenter la logique de tri pour les événements en fonction de la propriété LastModifiedDate et les actualités combinées.

Scénario d'événements à venir

Dans ce scénario, la recherche complément présente les événements pertinents ciblés pour l'utilisateur.

La figure 7. Scénario de recherche personnalisés événements à venir

Scénario de recherche personnalisée d’événements à venir

Pour implémenter ce scénario, vous pouvez configurer les résultats de recherche SharePoint composant WebPart pour modifier la requête pour récupérer uniquement les informations sur les événements à venir. Pour ce faire, spécifiez ContentClass:STS_ListItem_Events pour le texte de requête du composant WebPart. Pour modifier l'affichage des résultats de l'événement, créer des modèles d'affichage personnalisé pour afficher des informations sur l'événement.

Vous pouvez modifier le modèle d'affichage de l'élément afin que lorsque l'utilisateur choisit l'image, le titre ou le lien Détails, la page Informations événement est chargée. Vous pouvez également modifier le modèle d'affichage de contrôle afin que lorsque l'utilisateur choisit Voir plus, les résultats des 10 événements suivant sont affichés dans le composant WebPart.

Vous pouvez également créer une recherche complément qui utilise l'API de requête pour récupérer les résultats de la paires. Vous pouvez configurer la recherche complément pour afficher, par défaut, seuls 10 d'entre les derniers événements à venir, mais que ce paramètre configurable via les propriétés de complément de recherche.

Scénario de news proposées

Dans ce scénario, la recherche complément montre les résultats de recherche en tant que contenu proposé ciblé pour vos utilisateurs dans les emplacements, tels que l'intranet d'entreprise et les pages d'arrivée de division. Vous pouvez implémenter ceci avec un composant de complément contenant un plug-in jQuery avec du code HTML, qui utilise le service REST de recherche ou la modèle de requête pour obtenir des résultats de recherche à partir de SharePoint et afficher les résultats.

Exemple de code de recherche personnalisé

Le SharePoint 2013 : résultats de la recherche de personnalisation dans un SharePoint Add-in exemple illustre un exemple de recherche de base et l'exemple qui utilise le modèle de requête de recherche de résultats de recherche personnalisé. L'exemple de recherche de base permet à l'utilisateur de fournir un filtre de recherche à utiliser pour une recherche à l'échelle du client. Les sites sont recherchés en fonction de ce filtre fourni par l'utilisateur.

L'exemple obtient d'abord le contexte de SharePoint à l'aide de la classe SharePointContextProvider .

var spContext = SharePointContextProvider.Current.GetSharePointContext(Context);

Ensuite, il génère la requête en fonction de l'entrée utilisateur. Il limite la requête aux collections de sites et appelle ensuite la méthode ProcessQuery , en passant le contexte et la requête lors de l'appel de méthode. Elle renvoie ensuite que les résultats de la ProcessQuery en conséquence de table, qui est ensuite analysé par la méthode FormatResults .

using (var clientContext = spContext.CreateUserClientContextForSPHost())
{
	string query = searchtext.Text + " contentclass:\"STS_Site\"";
	ClientResult<ResultTableCollection> results = ProcessQuery(clientContext, query);
	lblStatus1.Text = FormatResults(results);
}

La méthode ProcessQuery crée un objet KeywordQuery qui représente la requête de recherche.

KeywordQuery keywordQuery = new KeywordQuery(ctx);
keywordQuery.QueryText = keywordQueryValue;
keywordQuery.RowLimit = 500;
keywordQuery.StartRow = 0;
keywordQuery.SelectProperties.Add("Title");
keywordQuery.SelectProperties.Add("SPSiteUrl");
keywordQuery.SelectProperties.Add("Description");
keywordQuery.SelectProperties.Add("WebTemplate");
keywordQuery.SortList.Add("SPSiteUrl", Microsoft.SharePoint.Client.Search.Query.SortDirection.Ascending);

La requête de recherche est ensuite envoyée à SharePoint en appelant la méthode ExecuteQuery_Client(Query) . Les résultats sont renvoyés à l'objet ClientResult<T> .

SearchExecutor searchExec = new SearchExecutor(ctx);
ClientResult<ResultTableCollection> results = searchExec.ExecuteQuery(keywordQuery);
ctx.ExecuteQuery();

La méthode FormatResults effectue une itération dans les résultats et construit un tableau HTML pour afficher les valeurs de résultat.

string responseHtml = "<h3>Results</h3>";
responseHtml += "<table>";
responseHtml += "<tr><th>Title</th><th>Site URL</th><th>Description</th><th>Template</th></tr>";
if (results.Value[0].RowCount > 0)
{
 foreach (var row in results.Value[0].ResultRows)
 {
   responseHtml += "<tr>";
   responseHtml += string.Format("<td>{0}</td>", row["Title"] != null ? row["Title"].ToString() : "");
   responseHtml += string.Format("<td>{0}</td>", row["SPSiteUrl"] != null ? row["SPSiteUrl"].ToString() : "");
   responseHtml += string.Format("<td>{0}</td>", row["Description"] != null ? row["Description"].ToString() : "");
   responseHtml += string.Format("<td>{0}</td>", row["WebTemplate"] != null ? row["WebTemplate"].ToString() : "");
   responseHtml += "</tr>";
 }
}
responseHtml += "</table>";

La méthode ResolveAdditionalFilter vérifie les « Applicationtester ». Si elle est trouvée, une liste de modèles de site quelconque est renvoyée dans les résultats de recherche. Si elle n'est pas présente, les modèles web STS uniquement sont renvoyés dans les résultats de recherche.

private string ResolveAdditionalFilter(string aboutMeValue)
{
	if (!aboutMeValue.Contains("AppTest"))
	{
		return "WebTemplate=STS";
	}
	return "";
}

Ensuite, l'exemple construit la requête et appelle les méthodes ProcessQuery et FormatResults pour récupérer, format et afficher les résultats de recherche.

string query = "contentclass:\"STS_Site\" " + templateFilter;
ClientResult<ResultTableCollection> results = ProcessQuery(clientContext, query);
lblStatus2.Text = FormatResults(results);

Vous pouvez afficher l'interface utilisateur pour que cet exemple dans la figure suivante.

La figure 8. Exemple de résultats de recherche personnalisé l'interface utilisateur

Interface utilisateur d’exemple de résultats de recherche personnalisée

Dans SharePoint 2013 et SharePoint Online, vous pouvez exporter et importer des paramètres de configuration de recherche personnalisés entre les collections de sites. Vous pouvez uniquement exporter des paramètres de configuration de recherche personnalisés au niveau Search service application (SSA), et vous devez utiliser l'API de recherche pour ce faire par programme. L'option d'exportation n'est pas disponible dans l'interface utilisateur SharePoint.

Le SharePoint 2013 : importer et exporter les paramètres de recherche pour SharePoint Online exemples montrent comment importer et exporter des paramètres de recherche pour un site de SharePoint Online à l'aide de la recherche CSOM dans une application console.

Paramètres de configuration qui peuvent être exploitées

Lorsque vous exportez des paramètres de configuration de recherche personnalisés, SharePoint 2013 crée un fichier de configuration de recherche au format XML. Ce fichier de configuration de recherche comprend tous les paramètres de configuration de recherche personnalisés exportable au niveau de la SSA, collection de sites ou au niveau du site à partir duquel vous commencez l'exportation. Un fichier de configuration de recherche pour une collection de sites ne contienne pas de paramètres de configuration de recherche à partir des sites individuels au sein de la collection de sites.

Lorsque vous importez un fichier de configuration de recherche, SharePoint 2013 crée et active chaque paramètre de configuration de recherche personnalisé dans la collection de sites ou un site à partir duquel vous commencez l'importation.

Le tableau 1 répertorie les paramètres que vous pouvez exporter et importer et toutes les dépendances sur les autres paramètres de configuration de recherche personnalisés. Si les paramètres de configuration de recherche personnalisés dépendent d'un paramètre de configuration de recherche personnalisés à un niveau différent, vous devez exporter et importer des paramètres pertinents à tous les niveaux.

Le tableau 1. Paramètres de recherche que vous pouvez exporter et importer

Paramètre de configuration

Dépendances

Règles de requête, y compris les blocs de résultat, les résultats promus et les segments d'utilisateur

Origines des résultats, types de résultats, schéma de recherche, modèle de classement

Origines des résultats

Schéma de recherche

Types de résultats

Schéma de recherche, origines des résultats, modèles d’affichage

Schéma de recherche

Aucune

Modèle de classement

Schéma de recherche

Vous pouvez exporter des paramètres de configuration de recherche personnalisés à partir d'une SSA et importer les paramètres pour les sites et collections de sites. Mais vous ne pouvez pas importer des paramètres de configuration de recherche personnalisés vers une SSA. Vous ne pouvez pas exporter les paramètres de configuration de recherche par défaut.

Sur le site ou une collection de sites, vous pouvez exporter ou importer des paramètres de configuration de recherche à l'aide de l'interface utilisateur SharePoint. Ces paramètres se trouvent dans la section de recherche de la page Paramètres du Site.

Paramètres du site - recherche

Paramètres du site - Recherche

Ces paramètres sont également disponibles dans la section Administration de la Collection de sites. Sinon, vous pouvez par programme importer et exporter ces paramètres à l'aide de la recherche SharePoint 2013 CSOM.

Fichiers de configuration de recherche

Le tableau suivant répertorie les fichiers de schéma qui prennent en charge une configuration de recherche. Pour plus d'informations sur le format de schéma, consultez la rubrique schémas de portabilité de paramètres de recherche de Point de partage.

Le tableau 2. Schémas de portabilité de paramètres de recherche

Schéma

Description

SPS15XSDSearchSet1

Spécifie le XML qui représente les origines des résultats.

SPS15XSDSearchSet2

Spécifie le code XML qui représente les types d'administration et des membres pour la gestion d'une instance de recherche SSA. Cela inclut les types d'élément de résultat et les paramètres de règle de propriété.

SPS15XSDSearchSet3

Spécifie le code XML qui représente les paramètres qui incluent des règles de requête, origines des résultats, les propriétés gérées, les propriétés analysées et les modèles de classement.

SPS15XSDSearchSet4

Spécifie le code XML qui représente les énumérations utilisées dans les autres schémas.

SPS15XSDSearchSet5

Spécifie le code XML qui représente les énumérations utilisées dans les autres schémas comme ResultType .

SPS15XSDSearchSet6

Spécifie le code XML qui représente les énumérations utilisées dans le schéma Microsoft.Office.Server.Search.Administration .

À l'aide de CSOM pour les paramètres de configuration de port

L'API CSOM dont vous avez besoin pour importer et exporter les paramètres de configuration de recherche se trouvent dans la classe SearchConfigurationPortability dans l'espace de noms Microsoft.SharePoint.Client.Search.Portability .

L'exemple de code suivant montre comment exporter des paramètres de configuration de recherche d'un site.

private static void ExportSearchSettings(ClientContext context, string settingsFile)
{
   SearchConfigurationPortability sconfig = new SearchConfigurationPortability(context);
   SearchObjectOwner owner = new SearchObjectOwner(context, SearchObjectLevel.SPWeb);
   ClientResult<string> configresults = sconfig.ExportSearchConfiguration(owner);
   context.ExecuteQuery();
   string results = configresults.Value;
   System.IO.File.WriteAllText(settingsFile, results);
}

Le code suivant montre comment importer des paramètres de configuration de recherche d'un site.

private static void ImportSearchSettings(ClientContext context, string settingsFile)
{
   SearchConfigurationPortability sconfig = new SearchConfigurationPortability(context);
   SearchObjectOwner owner = new SearchObjectOwner(context, SearchObjectLevel.SPWeb);
   sconfig.ImportSearchConfiguration(owner, System.IO.File.ReadAllText(settingsFile));
   context.ExecuteQuery();            
}

Afficher: