Modification du modèle d’affichage du composant WebPart Recherche de contenu et utilisation de Windows PowerShell pour lancer l’analyse de l’utilisation 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

Notes

Les exemples de cette série sont basés sur un déploiement SharePoint Server local.

Modifier le mappage de la propriété gérée UsageAnalyticsID

Sur notre site web Contoso, nous voulons recommander un produit par groupe de produits, c’est-à-dire que nous voulons que l’analyse de l’utilisation ignore la couleur du produit. Cela signifie que nos recommandations doivent être calculées en fonction du numéro de groupe. Nous pouvons le faire, car le numéro de groupe fait partie de l’URL conviviale (FURL) sur notre page de détails d’élément (voir Étape 10 :Configurer la requête dans un partie Web De recherche de contenu sur une page d’élément de catalogue dans SharePoint Server).

Dans le billet de blog précédent, nous vous avons dit que la propriété gérée utilisée pour spécifier comment les recommandations entre les éléments de catalogue individuels doivent être calculées est UsageAnalyticsID (voir à propos de la propriété gérée UsageAnalyticsID). Pour que l’analyse de l’utilisation calcule le numéro de groupe, nous devons modifier le mappage de la propriété UsageAnalyticsID. Voici la marche à suivre :

Important

Vous devez modifier le mappage de la propriété sur le site de création.

  1. Sur votre site de création, accédez à Paramètres du site --> Schéma de recherche.

    Schéma de recherche

  2. Sur la page Propriétés gérées, dans le champ Propriété gérée, entrez UsageAnalyticsID, puis sélectionnez le bouton fléché.

    MP d’analyse d’utilisation de recherche

  3. Dans le champ Nom de la propriété, sélectionnez Modifier/mapper la propriété.

    Modifier la propriété

  4. Sur la page Modifier la propriété gérée, sélectionnez Ajouter un mappage. Notez que, par défaut, cette propriété est mappée sur la propriété analysée ows_ProductCatalogItemNumber.

    Ajouter un mappage

  5. Dans la boîte de dialogue De sélection de propriétés crawlées, utilisez le champ Rechercher le nom de la propriété analyse pour rechercher la propriété analyse que vous souhaitez maquer à cette propriété gérée.

    Dans notre scénario Contoso, nous voulons mapper la colonne de site appelée Numéro du groupe. Les propriétés analysées ne contiennent pas d'espaces. Par conséquent, excluez l’espace, entrez GroupNumber et sélectionnez Rechercher.

    Saisir le numéro de groupe et sélectionner Rechercher

    Deux propriétés analysées sont trouvées. Sélectionnez la propriété analysée portant le préfixe ows_, puis cliquez sur OK.

    Map, propriété

    Si vous n’êtes pas dérouté parce que deux propriétés qui ressemblent à la même sont trouvées, vous n’êtes pas le seul. C’est un peu délicat. L’article From site column to managed property - What's up with that? décrit la convention d’affection de noms pour les propriétés analysées et gérées. En bref, voici ce qu’il vous faut savoir : lorsque vous mappez une propriété analysée sur la propriété gérée UsageAnalyticsID, vous devez sélectionner la propriété analysée portant le préfixe ows_  !

  6. Dans la page Modifier la propriété gérée, sélectionnez la propriété ows_ProductCatalogItemNumber la propriété analyse, puis supprimez le mappage.

    Supprimer le mappage

  7. Cliquez sur OK pour enregistrer le nouveau mappage.

    Important

    Mappez uniquement une propriété analysée sur la propriété gérée UsageAnalyticsID. Si vous mappez plus d'une propriété analysée, le calcul de l'analyse de l'utilisation ne fonctionnera pas correctement.

    Après avoir modifié le mappage de la propriété gérée UsageAnalyticsID, effectuez une analyse complète de votre catalogue, comme expliqué à l’étape 4: Configurer la recherche et activer l’analyse du contenu de votre catalogue dans SharePoint Server .

Modifier le modèle d’affichage du composant WebPart Recherche de contenu afin que les événements Actions utilisateur soient enregistrés correctement dans le journal

Sur notre site Contoso, nous utilisons un composant WebPart Recherche de contenu pour afficher les éléments sur la page d'éléments de catalogue, comme expliqué à l'Étape 10 : Configurez la requête dans un composant WebPart recherche de contenu sur une page d'articles de catalogue dans SharePoint Server. Par défaut, le composant WebPart Recherche de contenu n'enregistre pas les événements Actions utilisateur dans le journal. Pour changer ce comportement, nous devons modifier le modèle d'affichage du composant WebPart Recherche de contenu. Voici la marche à suivre :

  1. Dans votre Procédure de mappage de votre lecteur réseau, ouvrez le modèle d'affichage que vous avez appliqué à votre composant WebPart Recherche de contenu.

  2. Dans l'élément ManagedPropertyMapping, ajoutez les deux propriétés suivantes :

    'Original Path'{Original Path}:'OriginalPath',
    'SiteID'{SiteID}:'SiteID',
    

    Deux MP

  3. Ajoutez le code JavaScript suivant juste au-dessus de la partie HTML de votre modèle d’affichage :

    //Log Views usage event on URL of catalog item
        window.LogViewsToEventStore = function(url, site)
        {    
            SP.SOD.executeFunc("sp.js", "SP.ClientContext", function()
            {
                var spClientContext = SP.ClientContext.get_current();
                if(!$isNull(spClientContext))
                {
                        var spWeb = spClientContext.get_web();
                        var spUser = spWeb.get_currentUser();
                        var spScope = "{00000000-0000-0000-0000-000000000000}";
    
                        SP.Analytics.AnalyticsUsageEntry.logAnalyticsEvent2(spClientContext, 1, url, spScope, site, spUser);spClientContext.executeQueryAsync(null, null);                   
                }
            });
        };
    
        var originalPath = $getItemValue(ctx, "Original Path");
        var originalSite = $getItemValue(ctx, "SiteID");
        LogViewsToEventStore(originalPath.value, originalSite.value);
    

    Dans Afficher les définitions des événements Actions utilisateur, nous avons décrit les propriétés EventTypeID pour les événements Actions utilisateur. La valeur 1 dans ce script représente l’EventTypeID de l’événement d’utilisation Views. Pour enregistrer un autre événement d’utilisation, remplacez cette valeur par l’EventTypeID de l’événement d’utilisation que vous souhaitez enregistrer.

    JavaScript

  4. Enregistrez le fichier.

Pourquoi simuler la génération d’événements Actions utilisateur Affichages ?

Maintenant que le composant WebPart Recherche de contenu peut enregistrer correctement les événements Actions utilisateur dans le journal, l'étape suivante consiste à générer des événements Actions utilisateur. Dans notre exemple, nous avons modifié le composant WebPart Recherche de contenu pour enregistrer les affichages dans le journal. Si le site Contoso était en production, les visiteurs créent un événement d’utilisation Views chaque fois qu’ils ont vu un élément sur le site web. Mais le site Contoso est seulement un site de démonstration. Par conséquent, il n'y a pas de visiteurs.

Lorsque vous configurez votre site, vous voudrez probablement tester la fonction d'analyse de l'utilisation avant de l'activer sur votre site de production. Pour être en mesure de tester la fonction d'analyse de l'utilisation, vous devrez générer des événements Actions utilisateur. Pour générer des recommandations basées sur des événements Actions utilisateur, un minimum de trois utilisateurs doivent cliquer sur les mêmes éléments.

Il n’existe pas qu’une seule bonne façon de simuler la génération d’événements Actions utilisateur Affichages. Pour générer des événements d’utilisation Views pour le site Contoso, vous pouvez inviter des collègues à une « click party ». Pour vous assurer que des recommandations sont générées, donnez à chaque utilisateur une liste d’éléments sur qui cliquer. Ainsi, vous pouvez vous assurer qu’au moins trois utilisateurs cliquent sur les mêmes éléments.

Voici un exemple des instructions que vous pouvez donner à vos collègues de travail :

Cliquez sur Instructions pour les tiers

Lors de l’exécution de l’analyse de l’utilisation, SV Keyboard E10 générera une recommandation pour WWI Desktop PC2.30 M2300 (les personnes qui ont consulté WWI Desktop PC2.30 M2300 ont aussi consulté SV Keyboard E10) et WWI Desktop PC2.30 M2300 générera une recommandation pour SV Keyboard E10 (les personnes qui ont consulté SV Keyboard E10 ont aussi consulté WWI Desktop PC2.30 M2300).

Exécuter des scripts Microsoft PowerShell pour lancer l'analyse de la recherche et placer les événements Actions utilisateur dans le magasin d'événements

Une fois que vous avez généré des événements Actions utilisateur Affichages, deux options s’offrent à vous. Le travail du timer Analyse de l’utilisation s’exécute une fois toutes les 24 heures.

Si vous souhaitez obtenir des résultats plus rapidement, vous pouvez utiliser certains scripts Microsoft PowerShell pour accélérer le processus. Voici la marche à suivre :

  1. Vérifiez que vous possédez les autorisations minimales requises.

  2. Sur le serveur où SharePoint Server est installé, ouvrez SharePoint 2013 Management Shell en tant qu'administrateur.

    Exécuter en tant qu’administrateur

  3. À l'invite de commande Microsoft PowerShell, tapez les commandes suivantes pour démarrer l'analyse de la recherche. Le résultat de l'analyse de la recherche est utilisé par l'analyse de l'utilisation pour mapper les événements Actions utilisateur sur les éléments réels dans l'index de recherche.

    $job = Get-SPTimerJob -Type Microsoft.Office.Server.Search.Analytics.AnalyticsJobDefinition
    $sa = $job.GetAnalysis("Microsoft.Office.Server.Search.Analytics.SearchAnalyticsJob")
    $sa.StartAnalysis()
    
  4. Attendez que le travail d’analyse de la recherche soit terminé. Pour vérifier l’état du travail d’analyse de la recherche, tapez la commande suivante :

    $sa.GetAnalysisInfo()
    

    Tant que le travail d'analyse de la recherche est en cours d'exécution, l' état est En cours d'exécution.

    Exécution de SA

    Le travail d'analyse de la recherche est terminé lorsque l' état est Arrêté et que le statut est égal à 100.

    SA arrêté

  5. Les événements d’utilisation sont ajoutés au magasin d’événements par intervalles de 10 minutes. Pour placer les événements Actions utilisateur dans le magasin d’événements, tapez les commandes suivantes :

    $job = Get-SPTimerJob -Identity ("job-usage-log-file-import")
    $job.RunNow()
    

Afficher les événements Actions utilisateur dans le magasin d’événements

Après avoir placé les événements Actions utilisateur dans le magasin d'événements, vous devez vérifier que les événements Actions utilisateur sont enregistrés correctement. Pour ce faire, sur l'ordinateur sur lequel SharePoint Server est installé, accédez au magasin d'événements. Dans la plupart des cas, vous pouvez trouver le magasin d'événements dans le dossier suivant :

C:\Program Files\Microsoft Office Servers\15.0\Data\Office Server\Analytics_ <GUID> \EventStore

Dans le magasin d’événements, les événements Actions utilisateur de chaque jour sont stockés dans un dossier séparé. Dans notre exemple, nous pouvons voir qu’un dossier a été ajouté.

Recherche de magasin d’événements

Dans ce dossier se trouvent des fichiers texte. Ces derniers contiennent les événements Actions utilisateur. Notez que tous les noms de fichier commencent par 1_.

Fichiers journaux des événements

Ce numéro est l’EventTypeID de l’événement d’utilisation qui est enregistré dans le fichier. N’oubliez pas que 1 est l’EventTypeID de l’événement d’utilisation Views (voir Afficher les définitions des événements d’utilisation). À ce stade, le seul événement Actions utilisateur que nous enregistrons dans le journal est l’événement Affichages. Cela indique que l’enregistrement se fait correctement.

Ouvrez l’un des fichiers dans un éditeur de texte. Ce fichier contient de nombreuses informations, mais vous ne devez vous concentrer que sur deux choses :

  • Vérifiez que les événements Actions utilisateur sont enregistrés correctement.

  • Vérifiez que différents utilisateurs ont généré l’événement Actions utilisateur.

Dans À propos de l'analyse de l'utilisation dans un scénario de publication intersites, nous avons expliqué que pour que l'analyse de l'utilisation fonctionne, l'événement Actions utilisateur doit être enregistré sur l'URL de l'élément. Dans le fichier du magasin d'événements, vous verrez de nombreuses URL. Recherchez celles qui se terminent par dispform.aspx?Id= suivi d’un numéro. Dans notre version Contoso de ce fichier, nous voyons qu'il y a beaucoup d'entrées avec ce type d'URL.

URL d’élément

Cela signifie que les événements d’utilisation sont enregistrés correctement. Pour vérifier que les URL appartiennent réellement à l'un des éléments du catalogue, copiez l'une des URL de ce fichier et collez-la dans votre navigateur.

Vérifier l’URL de l’élément

Pour vérifier que différents utilisateurs ont généré l’événement Actions utilisateur, reportez-vous à la troisième colonne du fichier. Dans notre exemple, nous pouvons voir qu’au moins trois identifiants utilisateur apparaissent.

Trois ID d’utilisateur

Maintenant que nous avons vérifié que les événements Actions utilisateur sont correctement enregistrés dans le journal, vous pouvez être tenté de penser que nous sommes prêts à exécuter le travail d'analyse de l'utilisation. Mais n’oubliez pas qu’à l’aide de Microsoft PowerShell pour démarrer l’analyse de l’utilisation, nous commençons en fait des travaux du timer.

Lorsque le travail du minuteur d'analyse de l'utilisation démarre, il recherche les événements Actions utilisateur du jour précédent et les traite. Puisque nous voulons traiter les fichiers d'aujourd'hui, nous allons utiliser une astuce simple pour que les fichiers appropriés soient traités par l'analyse de l'utilisation.

Préparer les fichiers d’événements Actions utilisateur avant de lancer une analyse de l’utilisation avec Windows PowerShell

  1. Dans le dossier EventStore, créez un dossier nommé myevents.

    Mes événements

  2. Copiez les fichiers d’événements Actions utilisateur à traiter dans le dossier myevents. Dans notre scénario Contoso, copiez tous les fichiers des événements d’utilisation d’affichage dans le dossier magasin d’événements dans myevents.

    Mes événements copiés

  3. Cliquez avec le bouton droit sur le dossier myevents et sélectionnez Propriétés.

    Emplacement des propriétés dans l’Explorateur Windows

  4. Dans la section Attributs, sélectionnez Lecture seule (s'applique uniquement aux fichiers dans le dossier), puis cliquez sur OK.

    Définir en lecture seule

  5. Dans la boîte de dialogue Confirmer les modifications d’attribut, sélectionnez Appliquer les modifications à ce dossier, au sous-dossier et aux fichiers, puis cliquez sur OK.

    Appliquer aux dossiers

    Vous êtes maintenant prêt à démarrer le travail d’analyse de l’utilisation.

Lancer le travail d'analyse de l'utilisation avec Microsoft PowerShell

  1. À l'invite de commandes Microsoft PowerShell, tapez les commandes suivantes :

    $job = get-sptimerjob -type microsoft.office.server.search.analytics.usageanalyticsjobdefinition 
    $job.DisableTimerJobSchedule() 
    $job.StartAnalysis("\\<hostname>\Analytics_<guid>\EventStore\myevents") 
    $job.EnableTimerJobSchedule()
    

    Notez qu’une commande contient deux espaces réservés : hostname et guid. L'attribut hostname correspond au nom du serveur sur lequel SharePoint Server est installé. Vous pouvez voir le GUID dans le chemin d’accès au fichier de votre EventStore.

    GUID

    Exécuter l’analyse d’utilisation

  2. Vérifiez l’état du travail de l’analyse de l’utilisation en tapant la commande suivante :

    $job.GetAnalysisInfo()
    

    Le travail d'analyse de l'utilisation est terminé lorsque l' état est Arrêté et que le statut est égal à 100.

    Agent utilisateur arrêté

Maintenant que l'analyse de l'utilisation a traité les événements Actions utilisateur, l'étape suivante consiste à afficher les résultats de l'analyse sur le site de publication. Pour ce faire, nous allons ajouter et configurer deux composants WebPart.

Article suivant de cette série

Add and configure the Recommended Items and Popular Items Web Part in SharePoint Server