Il existe deux composants WebPart qui peuvent être utilisés pour rechercher des données sur un site SharePoint. Ils sont très similaires : le composant WebPart Requête de contenu (CQWP) et le composant WebPart Recherche de contenu (CSWP). À première vue, leur nom ne permet pas de bien les différencier.
Dans la plupart des cas, nous vous recommandons d’utiliser le composant WebPart Recherche de contenu, car il n’affecte pas autant les performances que le composant WebPart Requête de contenu.
Il est important que vous compreniez les forces et les limitations des deux composants WebPart. Dans la plupart des cas, nous vous recommandons d’utiliser le composant WebPart Recherche de contenu, car il n’affecte pas autant les performances que le composant WebPart Requête de contenu.
-
Utilisez le composant WebPart Requête de contenu lorsque vous disposez d’un contenu peu volumineux, que votre requête est simple et que votre contenu ne devrait pas augmenter à l’avenir.
-
Utilisez le composant WebPart Recherche de contenu dans tous les autres scénarios lorsque vous voulez afficher du contenu basé sur une requête.
Les deux composants WebPart sont comparés dans le tableau ci-dessous :
Comportement du composant WebPart |
Composant WebPart Requête de contenu |
Composant WebPart Recherche de contenu |
---|---|---|
Configuration de la requête |
Facile |
Vous devez connaître certaines fonctionnalités de recherche telles que Gérer le schéma de recherche dans SharePoint Online. |
Interrogation de contenu volumineux |
Limité |
Oui |
Traitement de requêtes complexes |
Limité |
Oui |
Évolution pour gérer les augmentations de contenu ultérieures |
Limité |
Oui |
Affichage du contenu provenant d’autres collections de sites |
Non |
Oui (voir Utiliser le composant WebPart Recherche de contenu pour afficher le contenu d’une autre collection de sites ci-dessous) |
Possibilité de personnaliser la conception des résultats de requête |
Oui, en utilisant XSLT. |
Oui, en utilisant HTML. |
Coûts de maintenance dans une architecture de site complexe |
Élevés |
Petit (voir Utiliser le composant WebPart Recherche de contenu pour réduire le coût de maintenance ci-dessous) |
Affinement des résultats affichés dans le composant WebPart |
Non |
Oui, en combinaison avec le composant WebPart Affinement. |
Vous pouvez utiliser les deux composants WebPart pour afficher des informations stockées dans un sous-site. L’expérience utilisateur des auteurs du contenu et des visiteurs du site est identique, quel que soit le composant WebPart utilisé. La différence entre les deux composants WebPart est la technologie qu’ils utilisent. Le composant WebPart Requête de contenu interroge une base de données, tandis que le composant WebPart Recherche de contenu interroge l’index de recherche.
Voici un exemple de comportement de ces composants WebPart. L’exemple A montre une entreprise qui utilise un CQWP pour afficher le contenu de son sous-site de vente, et l’exemple B montre une entreprise qui utilise un CSWP pour afficher le contenu de son sous-site de vente.
Légende de l’image |
Exemple A : Composant WebPart Requête de contenu |
Exemple B : Composant WebPart Recherche de contenu |
---|---|---|
1 |
Vous créez du contenu dans une liste. |
Vous créez du contenu dans une liste. |
2 |
Les éléments de liste sont immédiatement stockés dans une base de données. |
Les éléments de liste sont automatiquement analysés à intervalles définis et ajoutés à l’index de recherche. |
3 |
Un visiteur consulte le site. Le composant WebPart Requête de contenu émet automatiquement une requête vers la base de données. |
Un visiteur consulte le site. Le composant WebPart Recherche de contenu émet automatiquement une requête vers l’index de recherche. |
4 |
La base de données renvoie un résultat et l’affiche dans le composant WebPart Requête de contenu. |
L’index de recherche renvoie un résultat et l’affiche dans le composant WebPart Recherche de contenu. |
Les composants WebPart reposant sur des technologies différentes, ils sont utilisés dans des situations différentes. Un cas d’utilisation est souvent plus complexe que le simple exemple cité dans la section précédente. Avant de décider quel composant WebPart utiliser, il est important de tenir compte des éléments suivants :
-
votre volume de contenu ;
-
la complexité de la requête ;
-
l’emplacement où est stocké votre contenu ;
-
l’éventuelle augmentation du contenu avec le temps ;
-
l’évolution des coûts de maintenance avec le temps.
Nous vous recommandons de traiter tous ces aspects globalement plutôt qu’individuellement.
Remarque : Si vous envisagez de passer d’un site local SharePoint à un site SharePoint Online et que vous utilisez les composants WebPart Requête de contenu sur votre site local SharePoint, vous risquez de rencontrer des problèmes de performances. Dans SharePoint Online, vous ne pourrez pas faire évoluer votre client pour améliorer les performances. Par ailleurs, la fonctionnalité de mise en cache se comporte différemment dans SharePoint Online et dans SharePoint en local.
Ce qui affecte les performances du composant WebPart Requête de contenu
Dans l’exemple précédent, si la liste Actualités contient moins de 5 000 éléments, les performances du composant WebPart Requête de contenu devraient être très satisfaisantes. Cependant, si la liste Actualités contient plus de 5 000 éléments, et que la requête du composant WebPart Requête de contenu est complexe, le composant WebPart peut rencontrer des problèmes de performances. Il est difficile de définir avec précision une requête complexe, mais une Source qui parcourt tous les sites de votre collection de sites est plus complexe qu’une Source qui interroge une liste spécifique. De plus, la complexité d’une requête augmente si elle utilise des Filtres supplémentaires. La complexité de la requête augmente selon les types de colonnes de site et les conditions que vous utilisez. Voici quelques exemples :
-
Une requête qui filtre sur une colonne de site de type Plusieurs lignes de texte est plus complexe qu’une requête qui filtre sur une colonne de site de type Oui/Non.
-
Un filtre qui utilise une condition contient est plus complexe qu’une requête qui utilise une condition est égal à.
-
L’utilisation de plusieurs conditions Ou augmente la complexité de la requête.
Les performances du composant WebPart Requête de contenu son également affectées par l’emplacement où est stocké votre contenu. Si votre contenu est stocké sur plusieurs sites, la quantité totale d’éléments de liste que le composant WebPart doit traiter affectera ses performances. Par exemple, sur le site de votre entreprise, vous voulez afficher les actualités récentes, qui proviennent de listes situées sur différents sous-sites. Chaque liste contient 1 000 éléments. Cela signifie que le composant WebPart Requête de contenu devra interroger 3 000 éléments.
Dans cet exemple, si la requête est simple, les performances du composant WebPart Requête de recherche devraient être satisfaisantes tant que le nombre d’éléments ne dépasse pas 5 000. Toutefois, si la requête est complexe, le composant WebPart Requête de recherche est susceptible de rencontrer des problèmes de performances, même si le nombre total d’éléments est de quelques milliers.
Un autre facteur important pouvant affecter les performances du composant WebPart Requête de contenu est l’augmentation de votre contenu. Une solution qui fonctionne bien aujourd’hui peut ne pas s’appliquer à votre contenu à l’avenir. Si vous attendez une augmentation significative du nombre de sites ou de la quantité de contenu, il est déconseillé d’utiliser le composant WebPart Requête de contenu.
Les deux composants WebPart vous permettent d’afficher du contenu en fonction des informations sur la navigation de votre site. Par exemple, lorsqu’un visiteur accède à une page, le composant WebPart sur cette page émet automatiquement une requête qui contient des informations sur la navigation du site. Les résultats de la recherche s’affichent dans le composant WebPart. Si vous n’avez pas beaucoup de contenu et que la requête est simple, vous pouvez utiliser plusieurs composants WebPart Requête de contenu pour afficher votre contenu. Toutefois, chaque composant WebPart Requête de contenu devant être entretenu de manière individuelle, vos coûts de maintenance risquent d’augmenter rapidement.
Si vous utilisez le composant WebPart Recherche de contenu avec la navigation gérée et une page de catégorie, vos coûts de maintenance resteront les mêmes lors de l’augmentation de votre contenu. Par exemple, si vous ajoutez une nouvelle catégorie de navigation à votre contenu, vous pouvez utiliser la même page de catégorie pour afficher le contenu qui appartient à la nouvelle catégorie de navigation. Ainsi, même si votre contenu augmente, vous devrez assurer la maintenance du même nombre de pages.
Pour plus d’informations, consultez ces articles supplémentaires :
Dans l’exemple suivant, vous pouvez constater que quatre composants WebPart Requête de contenu peuvent être remplacés par un composant WebPart Recherche de contenu sur une page de catégorie.
Vous pouvez utiliser le composant WebPart Recherche de contenu pour afficher le contenu provenant d’autres collections de sites. Par exemple, si vous voulez créer du contenu dans une collection de sites et l’afficher dans une autre collection de sites, vous devez utiliser le composant WebPart Recherche de contenu. Le composant WebPart Recherche de contenu peut afficher le contenu provenant d’une seule collection de sites.
Si vous hésitez entre les deux composants WebPart, il est préférable d’utiliser le composant WebPart Recherche de contenu dans la plupart des cas. Ce composant WebPart est plus souple que l’autre et offrira de meilleures performances si vous envisagez d’augmenter votre contenu au fil du temps.
Si vous décidez d’utiliser le composant WebPart Requête de contenu, nous vous recommandons d’effectuer des tests pour savoir s’il répond à vos exigences actuelles et futures en termes de performances et de maintenance.