Filtrer une recherche par un ou plusieurs ContentType spécifiques, peut être une idée intéressante si on souhaite contrôler les résultats d’une recherche SharePoint, et ne montrer à l’utilisateur que ce qu’on veut qu’il voit.

La configuration de base du l’application du service de la recherche ne le permet pas, mais pour le faire il suffit de cocher une toute petite case.

Toutes les propriétés indexées, et susceptibles d’être recherchées, se trouvent dans rubrique « Metadata Properties » du Service de la Recherche, et le ContentType en fait partie, mais pouvoir créer une étendue de recherche (Search Scope) en se basant sur le ContentType, il faut:

  • Aller sur la console d’administration centrale de SharePoint 2010
  • Cliquer sur « Manage service applications »
  • Cliquer sur « Search Service Application » de votre choix
  • Cliquer sur « Managed Properties »
  • Editer la proprieté « ContentType »
  • Cocher la case « Allow this property to be used in scopes »

    Managed Properties - ContentType

    Managed Properties - ContentType

  • cliquer sur « OK »

Une fois cette partie est terminée, place maintenant à la création de l’étendue (Scope):

  • Cliquer sur « Scopes »
  • Cliquer sur « New Scope »
  • Donner le titre souhaité et cliquer sur « OK »
  • Cliquer sur « Add rules »
  • Cocher « Property Query »
  • Selectionnez « ContentType » dans « Add property restrictions »
  • Taper le nom de votre ContentType
  • Choisir « Include » si on veut le rechercher, ou « Exclude » si on veut éviter qu’il remonte dans les résultats de la recherche.
    Règle de l'étendue de recherche - ContentType

    Règle de l'étendue de recherche - ContentType

  • Cliquer sur « OK »
  • Attendre la mise à jour de l’étendue, ou la mettre à jour manuellement à partir de la page d’accueil de l’administration du service

Après cette configuration, votre étendue contiendra l’ensemble des éléments qui correspondent au paramétrage précédemment fait.