Personnaliser le traitement de contenu avec la légende du service web Enrichissement de contenu

Découvrez la légende du service web d’enrichissement de contenu dans SharePoint qui permet aux développeurs de créer un service web externe afin de modifier les propriétés gérées des éléments analysés pendant le traitement du contenu.

La recherche dans SharePoint permet aux utilisateurs de modifier les propriétés gérées des éléments analysés avant leur indexation en appelant un service web d’enrichissement de contenu externe. La possibilité de modifier les propriétés gérées pour les éléments lors du traitement de contenu est utile lors de l'exécution des tâches de nettoyage des données, l'extraction d'entités, classification et balisage.

Enrichissement de contenu avec traitement de contenu

Figure 1. Enrichissement de contenu avec traitement de contenu

La figure 1 montre une partie du processus qui a lieu dans le composant de traitement du contenu. Le service web d’enrichissement de contenu est un service soap que vous pouvez créer pour recevoir une légende du client de service web à l’intérieur du composant de traitement de contenu. D’après la figure 1, le client de service web fait référence à l’opérateur d’enrichissement de contenu à l’intérieur du composant de traitement du contenu ; le service web fait référence au service web SOAP que vous implémentez. Le service web reçoit une charge utile configurable du composant de traitement du contenu. Ensuite, la réponse résultante du service web est fusionnée dans l’élément analysé avant d’être ajoutée à l’index de recherche. Le client de service web fonctionne avec des propriétés managées que vous pouvez configurer en tant que propriétés d’entrée ou en tant que propriétés de sortie. Les propriétés d’entrée sont envoyées au service web ; les propriétés de sortie sont retournées par le service web. Certaines propriétés gérées sont masquées ou en lecture seule et ne peuvent pas être envoyées au service web ou reçues du service web. Consultez Guide pratique pour répertorier toutes les propriétés gérées en lecture seule pour le service web d’enrichissement de contenu pour plus d’informations sur la façon de vérifier quelles propriétés managées sont en lecture seule.

Importante

[!IMPORTANTE] L'étape de légende de l'enrichissement de contenu peut uniquement être configurée avec un point de terminaison de service web unique. N'importe quel type de la tolérance de panne ou de fonctionnalités pour prendre en charge plusieurs implémentations de routage doit être gérée par le développeur qui implémente le service web. En outre, le développeur peut avoir différentes implémentations de services web hébergées à différents points de terminaison ; Toutefois, à un moment donné, un seul de ces points de terminaison utilisable dans la configuration.

Contrat de service web de l'enrichissement de contenu

Le client de service web est un client SOAP (version 1.1) RPC avec un comportement prédéfini. Le contrat de service web présente les caractéristiques suivantes :

  • Le composant de traitement de contenu envoie un appel SOAP RPC à un point de terminaison configurable via HTTP.
  • La charge utile contient un tableau d'objets property.
  • Le service web effectue une logique personnalisée dans le tableau d'objets de propriété et renvoie un tableau d'objets de propriété nouvelle ou modifiée.
  • Le service web doit envoyer une réponse au client de service web dans un délai donné.
  • Aucun mécanisme d'authentification ni chiffrement spécifiques n'est prises en charge dans le cadre du contrat. Vous pouvez toutefois, appliquer votre propre sécurité sur le mécanisme de transport.

Configuration du client de service de l'enrichissement de contenu web

Pour configurer le client de service web, vous utilisez les applets de commande Windows PowerShell suivantes :

Le tableau 1 répertorie les propriétés que vous pouvez configurer via les applets de commande Windows PowerShell mentionné plus haut.

Tableau 1. Propriétés configurables pour le client à l’aide d’applets de commande Windows PowerShell

Propriété de configuration Description Valeur par défaut
Endpoint Spécifie l'URL du service web externe. empty
InputProperties Les propriétés gérées qui reçoit le service web externe. empty
OutputProperties Les propriétés gérées retournées par le service web externe. empty
Timeout La quantité de temps jusqu'à ce que les heures de service web se déconnectent en millisecondes. Selon FailureMode, l'élément ne parvient pas à être traité ou un avertissement est écrit dans le journal du service ULS. 5 000 millisecondes ; Plage valide [100, 30000].
SendRawData Active ou désactive l'envoi des données brutes au service web. Faux
MaxRawDataSize La taille maximale des données brutes envoyées au service web en kilo-octets (Ko). Si les données binaires d'un élément dépassent cette limite, l'élément n'est pas envoyé. Cela n'empêche pas l' InputProperties d'être envoyés et l' OutputProperties soit reçu. 5120 kilo-octets.
FailureMode Contrôle le comportement du client du service web lorsqu'une erreur survient. Lorsque FailureMode est défini sur ERROR, les problèmes qui se produisent pendant le traitement de l'enrichissement de contenu envoient un rappel ayant échoué pour cet élément. Lorsque FailureMode est défini sur WARNING, l'élément est indexé, sans aucune modification par le service web et un avertissement est écrit dans le journal du service ULS. Erreur
DebugMode Un mode qui s'il true permet au client de l'enrichissement de contenu envoyer toutes les propriétés gérées pour le client sans attendre des propriétés en retour. Toute propriété de configuré Trigger, InputProperties propriété et OutputProperties propriété sont ignorées. Faux
Trigger Un prédicat Boolean qui est exécuté sur chaque élément analysé. Si le prédicat prend la valeur true, l'enregistrement est envoyé au service web. Dans le cas contraire, l'élément est transmis par le biais de l'index de recherche. empty

Comment répertorier toutes les propriétés gérées en lecture seule pour le service web de l'enrichissement de contenu

Certaines des propriétés gérées sont en lecture seule et ne peut pas être de sortie à partir du service web. Ces propriétés peuvent être répertoriées à l’aide des applets de commande Get-SPEnterpriseSearchServiceApplication et Get-SPEnterpriseSearchMetadataManagedProperty Windows PowerShell, présentées dans l’exemple suivant :

$ssa = Get-SPEnterpriseSearchServiceApplication
Get-SPEnterpriseSearchMetadataManagedProperty -SearchApplication $ssa  | ?{$_.IsReadOnly -or $_.MappingDisallowed -or $_.DeleteDisallowed}

À propos des conditions de déclenchement pour la configuration de la légende du service web

Une condition de déclencheur est une expression qui est utilisée pour configurer la légende du service web. Si une condition de déclencheur renvoie true, le client de service web effectue une légende pour que l'enregistrement. Si une condition de déclencheur renvoie false, le client de service web n'effectue pas une légende et transmet l'élément analysé à l'index de recherche. Sinon, si aucune condition de déclencheur n'est configurée ; tous les éléments sont envoyées au service web.

Les conditions de déclenchement utilisent un langage d'expression pour faire référence aux valeurs des propriétés gérées. Vous pouvez utiliser les fonctions et les opérateurs dans le langage des expressions pour créer des conditions de déclenchement simple ou complexe afin de déterminer à quel moment effectuer une légende du service web.

Le tableau 2 répertorie des exemples de conditions de déclenchement.

Tableau 2. Exemples de conditions de déclencheur pour la configuration de la légende du service web d’enrichissement de contenu

Expression Description Configuration requise
MP1 > 2 Cette propriété renvoie true si la valeur de la propriété gérée nommée MP1 est supérieure à 2. Mp1 doit avoir un type numérique.
IsNull(MP2) Renvoie true si la propriété gérée nommée MP2 n'est pas présente pour l'élément analysé ou est vide/nulle. Mp2 peut être de n'importe quel type.
MP2 et de StartsWith(MP1, "sample")! = 18 Cette propriété renvoie true si la valeur de la propriété gérée MP1 commence par « sample » et la valeur de propriété gérée MP2 n'est pas 18. Mp1 doit être de type string et MP2 doit correspondre à un type numérique.
IsDay (MP1, 2009, 12, 24) Vérifie si la propriété gérée MP1 contient un DateTime qui se situe sur 24 décembre 2009. Mp1 doit être de type DateTime.

Consultez Syntaxe des expressions de déclencheur dans SharePoint pour connaître les éléments qui peuvent être utilisés dans une expression de déclencheur et obtenir la liste des fonctions prises en charge.

Implémentation du service web externe de l'enrichissement de contenu

Pour une implémentation de base, procédez comme suit :

  1. Inclure les Microsoft.Office.Server.Search.ContentProcessingEnrichment.dll situé dans C:\\Program Files\\Microsoft Office Servers\\15.0\\Search\\Applications\\External dans votre projet sous la forme d'une référence.
  2. Mettre en œuvre IContentProcessingEnrichmentService comme un service web.

Voir aussi