Principe de fonctionnement de la recherche SharePoint 2010

Il y aurait beaucoup d’informations à communiquer sur le fonctionnement de la recherche SharePoint. L’objet de cet article est de présenter quelques notions pivot sur ce thème, sans chercher l’exhaustivité.

La recherche de SharePoint repose essentiellement sur un programme d’analyse des documents (« Crawl » en anglais) et un programme de requête (« Query »).

Le programme de « crawl » (mssearch.exe) analyse les documents pour en extraire les propriétés et les mots contenus.

Les propriétés sont le titre, l’auteur, l’objet, la date de création, etc. du document. Les spécialistes préfèrent le terme de métadonnées.

Donc, lorsqu’un document est déposé dans une bibliothèque ses propriétés et tout son contenu est indexé.

Le service SharePoint Server Search 14 exécute le programme C:Program FilesMicrosoft Office Servers14.0Binmssearch.exe.

Index

Un index est un ensemble de fichiers qui contiennent les mots analysés. L’URL du document est associée aux mots de l’index. A partir de l’index, il est alors possible de retrouver les documents qui sont associés au mot recherché.

Pour des raisons de performance, l’index du contenu se trouve sur le disque dur, et non pas en bases de données. Même sur des serveurs virtualisés, il est conseillé d’attacher l’index à un disque physique afin de ne pas dégrader les performances.

Pour améliorer les performances, l’index peut être déplacé sur un disque avec un compteur Avg. Disk Queue Length faible. Attention ! Ces opérations doivent d’abord être testées puis ensuite planifiées, notamment dans le cas d’un index volumineux.

Pour déplacer l’index grâce à la Central Administration, cliquez sur Application Management puis Manage service applications et sur l’application de service de la recherche. Dans cette application de service de la recherche, cliquez sur le bouton Modify sous Search Application Topology.

Ensuite, pour chaque composant de recherche (par exemple Crawl Component 0 / Query Component 0), éditez les propriétés (Edit Properties) et changez le chemin de l’index.

Puis cliquez sur le bouton Apply Topology Changes.

La compréhension de la recherche nécessite d’expliciter les notions de propriétés analysées et propriétés gérées.

Propriétés analysées

Les propriétés analysées sont celles qui sont découvertes lors de l’analyse du contenu au moment de l’indexation. Les propriétés analysées (« crawled ») sont automatiquement extraites du contenu analysé.

Pour des raisons de manipulation, elles sont stockées dans la base de données d’analyse (Search Service Application Crawl Store DB).

Pour prendre connaissance des propriétés analysées sur votre site, allez sur Central Administration > Application Management > Manage service applications > Application de service de la recherche > Metadata properties puis Crawled Properties (dans le menu haut):
Propriétés analysées
Afin de mieux comprendre leur intérêt, le tableau ci-dessous explicite le rôle des propriétés analysées de la catégorie Office.

Explications des propriétés analysées pour Office

Vous voyez qu’une propriété analysée est caractérisée par un nom complet Office:4(Text), par exemple.

Office est la catégorie qui se réfère aux documents Microsoft Office. Il existe d’autres catégories comme Basic qui se réfère notamment au système de fichier, Mail pour la messagerie, Web pour les données des sites web, People, SharePoint, etc.

Entre parenthèse, il est indiqué le type de données. Dans cet exemple, Text pour une ligne de texte. Il existe aussi Integer, Date and Time, Yes/No, Binary Data, etc.

Le nombre (4) est le nom de la propriété analysée.

Office:4(Text) est une propriété analysée native de SharePoint. Elle contient les données de la propriété Auteur des documents Office. Cette information est connue grâce au mappage avec la colonne Author. Le rôle du mappage est détaillé plus loin.

Vous trouverez aussi des propriétés analysées qui sont formatées un peu différemment. Par exemple, Departement(Text). Le type de données (Text) est toujours présent. Par contre, la catégorie n’apparaît pas dans le nom complet. Il faut cliquer sur le nom de la propriété analysée pour connaître sa catégorie.

Avec le temps de nombreuses propriétés analysées ne sont associées à aucune donnée mais elles sont toujours présentes dans la base. Vous pouvez les supprimer en allant sur Central Administration > Application Management > Manage service applications > Application de service de la recherche > Metadata properties puis Categories (dans le menu haut). Ensuite, modifiez la catégorie de votre choix. Cochez Delete all unmapped crawled properties et cliquez sur le bouton OK.
Delete all unmapped crawled properties
De nombreuses propriétés analysées, non mappées, devraient disparaître. Malgré cette manipulation, il peut encore subsister certaines propriétés analysées non mappées.
Propriétés analysées non-mappées
Cliquez sur un de ces propriétés analysées pour la modifier.

Lorsque la case à cocher Include values for this property in the search index est cochée, cela signifie que la recherche peut être faite dans les valeurs de cette propriété analysée. Autrement dit, ces valeurs seront placées dans l’index de recherche.

Si la case est cochée, une recherche sur l’auteur « Raimbaud » renverra les éléments dont la propriété d’auteur est « Raimbaud ». Dans le cas où cette case est décochée, la requête devra être rédigée de manière explicite. Autrement dit, la requête devra être sous la forme: « auteur:Raimbaud » pour trouver les mêmes éléments.

L’ajout de propriétés inutiles peut avoir des répercussions négatives sur les performances et la pertinence des recherches.
Include values for this property in the search index
Aussi, décochez la case Include values for this property in the search index et cliquez sur le bouton OK. Refaites-le pour toutes les propriétés analysées de la catégorie.
Propriétés analysées non-mappées non-indexées
Modifiez la catégorie concernée: cochez à nouveau Delete all unmapped crawled properties:
Delete all unmapped crawled properties
Vous pouvez supprimer la catégorie qui est vide.
Suppression d'une catégorie de recherche vide

Propriétés gérées

De prime abord, la notion de propriété gérée peut sembler superflue.

En effet, toutes les métadonnées des documents ont été collectées à travers les propriétés analysées. Ensuite, il faut associer (« mapper ») une propriété analysée à une propriété gérée car les requêtes sont faites sur les propriétés gérées.

Le rôle des propriétés gérées (« Managed properties ») est de réconcilier des propriétés qui peuvent être nommées différemment dans les documents.

L’auteur d’un document peut être stocké dans une métadonnée nommée Auteur ou Office:4(Text) ou encore Mail:6(Text) selon le type de document.

Le rôle de la propriété gérée est d’être une interface pour faire le lien entre toutes ces propriétés analysées.

 

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *