Mise en route avec le modèle objet Administration de recherche de contenu d'entreprise
Recherche de contenu d'entreprise dans Microsoft Office SharePoint Server 2007 fournit un nouveau modèle objet Administration de recherche que vous pouvez utiliser pour créer des applications personnalisées afin d'administrer Recherche de contenu d'entreprise par programme.
Le modèle objet Administration d'Recherche de contenu d'entreprise est implémenté dans l'espace de noms Microsoft.Office.Server.Search.Administration, disponible dans Microsoft.Office.Server.Search.dll.
Vous pouvez écrire du code qui utilise le modèle objet Administration d'Recherche de contenu d'entreprise à partir de différents types d'applications, notamment :
Une application de console
Un composant WebPart de recherche personnalisé hébergé dans un site SharePoint
Une application Web ASPX
Une application cliente Windows Forms
Utilisation du modèle objet Administration de recherche
Le diagramme suivant décrit les principales zones d'extensibilité du nouveau modèle objet Administration.
Objet SearchContext
L'objet Microsoft.Office.Server.Search.Administration.SearchContext est le point d'entrée au modèle objet Administration d'Recherche de contenu d'entreprise. La méthode GetContext retourne le contexte de recherche pour le site, serveur or fournisseur de services partagés spécifié. Selon la surcharge de méthode adoptée, vous devrez peut-être inclure une référence au fichier Microsot.Office.Server.dll ou Microsoft.SharePoint.dll dans votre projet. Pour plus d'informations sur la méthode GetContext, voir Procédure : renvoyer le contexte de recherche pour le fournisseur du service de recherche.
Notes
Après avoir installé Microsoft Office SharePoint Server 2007, vous devrez peut-être redémarrer le serveur qui héberge le site de votre fournisseur de services partagés avant d'appeler le modèle objet Administration d'Recherche de contenu d'entreprise.
Considérations liées aux performances
Si vous utilisez la surcharge de méthode GetContext de la classe SearchContext pour récupérer le contexte de la recherche, il est recommandé que votre code instancie l'objet SPSite dans une instruction using afin de vous assurer que l'objet est libéré lorsqu'il n'est plus nécessaire. Voici un exemple :
SearchContext context;
using (SPSite site = new SPSite("http://yourSiteName"))
{
context = SearchContext.GetContext(site);
}
Sources de contenu
Dans Recherche de contenu d'entreprise, les sources de contenu permettent de spécifier le contenu à analyser, de configurer et planifier l'analyse.
L'objet de niveau supérieur dans le modèle objet de sources de contenu est la classe Content. Lorsque vous initialisez une instance de la classe Content, vous passez un objet SearchContext en tant que paramètre dans le constructeur.
La propriété ContentSources de la classe Content retourne les sources de contenu d'un fournisseur de services partagés, représentées par un objet ContentSourceCollection.
La classe de base qui représente des sources de contenu individuelles est la classe ContentSource. Le modèle objet contient aussi les classes suivantes pour représenter les différents types de sources de contenu disponibles dans Recherche de contenu d'entreprise.
- BusinessDataContentSource
Permet d'inclure le contenu d'applications configurées dans le Catalogue de données métiers.
- CustomContentSource
Permet d'inclure le contenu de sources de contenu personnalisées.
- ExchangePublicFolderContentSource
Permet d'inclure le contenu du dossier public Microsoft Exchange Server.
- FileShareContentSource
Permet d'inclure le contenu de partage de fichiers.
- HierarchicalContentSource
Classe de base pour les sources de contenu hiérarchiques, telles que FileShareContentSource et ExchangePublichFolderContentSource.
- LotusNotesContentSource
Permet d'inclure le contenu Lotus Notes.
- SharePointContentSource
Inclut tout le contenu Windows SharePoint Services.
- WebContentSource
Permet d'inclure le contenu Web.
Le modèle objet de source de contenu inclut aussi des classes pour la gestion de la planification de l'analyse. Utilisez la propriété FullCrawlSchedule de la classe ContentSource pour configurer la planification de l'analyse complète. Utilisez la propriété IncrementalCrawlSchedule de la classe ContentSource pour configurer la planification de l'analyse incrémentielle.
La classe de base pour les planifications d'analyse est la classe Schedule. Le modèle objet inclut aussi les classes dérivées suivantes que vous pouvez utiliser pour configurer la planification de l'analyse.
- DailySchedule
Permet de spécifier le nombre de jours entre les analyses.
- WeeklySchedule
Permet de spécifier le nombre de semaines entre les analyses.
- MonthlyDateSchedule
Permet de spécifier les jours et les mois pendant lesquels l'analyse doit avoir lieu.
- MonthlyDayOfWeekSchedule
Permet de spécifier les jours, les semaines et les mois pendant lesquels l'analyse doit avoir lieu.
Pour plus d'informations sur les sources de contenu, voir Gestion du contenu.
Échantillons de source de contenu
Pour obtenir des procédures pas à pas de programmation des sources de contenu, voir :
Procédure : récupérer les sources de contenus pour un fournisseur de services partagés
Procédure : ajouter une source de contenu
Procédure : supprimer une source de contenu
Procédure : configurer par programme une planification d'analyse pour une source de contenu
Procédure : gérer l'analyse d'une source de contenu par programme
Schéma des propriétés de métadonnées
Le schéma des propriétés de métadonnées d'Recherche de contenu d'entreprise contient deux types de propriétés : les propriétés analysées, découvertes par le composant d'indexation du service de recherche lors de l'analyse du contenu, et les propriétés gérées, qui sont gérées par les administrateurs de recherche, et définies explicitement pour être utilisées dans les fonctions de recherche. Vous devez mapper les propriétés analysées sur les propriétés gérées afin de les utiliser dans les fonctions de recherche. Pour plus d'informations sur les propriétés d'Recherche de contenu d'entreprise, voir Gestion des métadonnées.
Les propriétés gérées sont gérées par les administrateurs et sont explicitement définies pour être utilisées par le système de requête. Mappez les propriétés analysées sur les propriétés gérées pour créer des propriétés à utiliser dans les requêtes.
Le point d'entrée pour la gestion des propriétés des métadonnées dans le modèle objet Administration est l'objet Schema. Lorsque vous initialisez une instance de la classe Schema, vous passez un objet SearchContext en tant que paramètre dans le constructeur. La propriété AllManagedProperties de la classe Schema retourne un objet ManagedPropertyCollection qui représente une collection de toutes les propriétés gérées dans le schéma de recherche du fournisseur de services partagés. La classe ManagedProperty représente une seule propriété gérée.
Les propriétés analysées sont regroupées dans différentes catégories, selon le gestionnaire de protocole utilisé. La propriété AllCategories de la classe Schema retourne un objet CategoryCollection qui représente toutes les catégories de propriétés analysées dans le schéma de recherche du fournisseur de services partagés. La classe Category représente une seule catégorie de propriétés analysées. Utilisez la méthode GetAllCrawledProperties de la classe Category pour retourner un énumérateur pour la collection de propriétés analysées de la catégorie. La classe CrawledProperty représente une seule propriété analysée.
Échantillons de schéma
Pour obtenir des procédures pas à pas de programmation à l'aide du schéma d'Recherche de contenu d'entreprise, voir :
Procédure : récupérer les propriétés analysées pour une catégorie dans le schéma de recherche
Procédure : récupérer les propriétés gérées pour un fournisseur de services partagés
Procédure : récupérer les propriétés analysées mappées sur une propriété gérée
Procédure : créer une propriété gérée
Procédure : supprimer une propriété gérée
Procédure : mapper une propriété analysée à une propriété gérée
Étendues de recherche
Dans Recherche de contenu d'entreprise, les étendues de recherche représentent une collection d'éléments basée sur un ou plusieurs éléments communs aux éléments de cette étendue. Les étendues sont définies par des règles enregistrées. Il existe des étendues globales au niveau du fournisseur de services partagés, disponibles pour tous les sites qui sont configurés pour utiliser ce fournisseur de services partagés. Il existe aussi des étendues au niveau du site, disponibles uniquement pour le site et les sous-sites du site pour lequel elles sont configurées.
Les groupes d'affichage sont des regroupements d'étendues et peuvent être utilisés pour gérer les étendues qui s'affichent dans les listes d'étendues pour différents composants WebPart de recherche, notamment les composants WebPart Recherche avancée et Zone de recherche.
Pour plus d'informations sur les étendues d'Recherche de contenu d'entreprise, voir Utilisation des zones de recherche.
Le point d'entrée pour la gestion d'étendues de recherche dans le modèle objet Administration est la classe Scopes. Lorsque vous initialisez une instance de la classe Scopes, vous passez un objet SearchContext en tant que paramètre pour le constructeur.
La propriété AllScopes retourne un objet ScopeCollection qui représente la collection de toutes les étendues de recherche du fournisseur de services partagés.
La propriété AllDisplayGroups retourne un objet ScopeDisplayGroupCollection qui représente la collection de tous les groupes d'affichage dans les étendues du fournisseur de services partagés.
La classe Scope représente une seule étendue de recherche, et la classe ScopeDisplayGroup représente un seul groupe d'affichage.
Mots clés et meilleurs résultats
Les mots clés sont des mots ou des expressions qui sont identifiés comme étant importants pour l'organisation. Ils fournissent un moyen aux administrateurs de recherche pour afficher des informations supplémentaires et des liens recommandés sur la page de résultats initiale. Vous pouvez tirer parti des mots clés dans les scénarios suivants :
Lorsque des utilisateurs demandent fréquemment des informations qui ne sont pas incluses dans l'index de contenu.
Lorsqu'une organisation doit promouvoir certains liens, en leur donnant une place importante dans les résultats de la recherche.
Pour plus d'informations sur les mots clés, les meilleurs résultats et les définitions, voir Gestion des mots clés.
L'administration des mots clés Recherche de contenu d'entreprise s'effectue au niveau du site. L'objet de niveau supérieur dans le modèle objet de mot clé est représenté par la classe Keywords. Le constructeur de la classe Keywords accepte deux paramètres : un objet SearchContext, qui représente le fournisseur de services partagés, et un objet System.Uri, qui représente l'URL du site.
La propriété AllKeywords de la classe Keywords retourne un objet KeywordCollection qui représente tous les mots clés pour le site spécifié. Les mots clés individuels sont représentés par la classe Keyword. Pour accéder au terme ou à l'expression du mot clé actuel, utilisez la propriété Term de la classe Keyword. La chaîne de description du mot clé est stockée dans la propriété Definition.
Utilisez la propriété Synonyms pour retourner un objet SynonymCollection qui représente tous les synonymes du mot clé. Utilisez la propriété BestBets pour retourner un objet BestBetCollection qui représente tous les meilleurs résultats pour le mot clé.
Vous pouvez aussi accéder aux meilleurs résultats définis pour un site à l'aide de la méthode GetAllBestBets de la classe Keywords. La classe BestBet représente une seule instance d'un meilleur résultat, et les synonymes individuels sont représentés par la classe SynonymCollection.
Classement
Recherche de contenu d'entreprise fournit un modèle objet de pertinence qui permet de personnaliser les paramètres utilisés par le moteur de classement. Pour plus d'informations sur la pertinence de la recherche, voir Présentation de l'architecture de pertinence de la recherche de contenu d'entreprise.
Notes
La modification des valeurs de paramètre de classement de façon arbitraire peut avoir des effets négatifs sur la pertinence globale du système. Nous vous déconseillons d'agir sans avoir évalué avec soin les modifications et leur impact sur la précision des résultats de la recherche.
L'objet de niveau supérieur dans le modèle objet de pertinence est représenté par la classe Ranking. Le constructeur de cette classe Ranking accepte un paramètre : un objet SearchContext, qui représente le fournisseur de services partagés.
La propriété RankingParameters de la classe Ranking retourne un objet qui représente tous les paramètres de classement du fournisseur de services partagés. Vous ne pouvez pas ajouter, supprimer ou renommer des paramètres de classement dans la collection ; seules les valeurs des paramètres sont modifiables. Les paramètres de classement individuels sont représentés par la classe RankingParameter.
Utilisez la propriété AuthorityPages pour retourner un objet AuthorityPageCollection qui représente toutes les pages d'autorité enregistrées pour le fournisseur de services partagés.
Utilisez la propriété DemotedSites pour retourner un objet DemotedSiteCollection qui représente tous les sites rétrogradés enregistrés pour le fournisseur de services partagés.
Pour démarrer le processus de mise à jour du classement pour un fournisseur de services partagés, utilisez la méthode StartRankingUpdate.
Propagation
Si le service d'index et le service d'interrogation sont en cours d'exécution sur des serveurs distincts, le service de recherche doit copier l'index de contenu du serveur de service d'index sur le serveur du service d'interrogation. Ce processus est appelé propagation.
Recherche de contenu d'entreprise permet d'accéder aux informations d'état sur le système de propagation. L'objet de niveau supérieur dans le modèle objet de propagation est la classe Propagation. Lorsque vous initialisez une instance de la classe Propagation, vous passez un objet SearchContext en tant que paramètre dans le constructeur.
Pour récupérer l'état de l'ensemble du système de propagation, utilisez la propriété Status de la classe Propagation class.
Pour vérifier l'état de la propagation de serveurs d'interrogation individuels, récupérez d'abord l'énumérateur du serveur d'interrogation à l'aide de la propriété QueryServers de la classe Propagation. Ensuite, énumérez la collection de serveurs d'interrogation pour récupérer l'objet QueryServer représentant le serveur d'interrogation.
Journal d'analyse
L'objet LogViewer permet de récupérer les données du journal d'analyse. La propriété MaxDaysCrawlLogged de la classe LogViewer permet de définir le nombre de jours maximal pendant lesquels le journal d'analyse conserve les données.
Pour manipuler les données dans le journal d'analyse, utilisez la classe CrawlLogFilters, qui contient tous les filtres destinés à cet effet. Cette classe contient une méthode AddFilter avec quatre surcharges de méthode, permettant d'ajouter des filtres aux éléments suivants :
Propriétés des entiers (telles que startAt, TotalEntries et MessageId)
Heure d'enregistrement
Type de message
URL
Voir aussi
Référence
Microsoft.Office.Server.Search.Administration
Autres ressources
Architecture d'Enterprise Search
Procédure : renvoyer le contexte de recherche pour le fournisseur du service de recherche
Gestion du contenu
Gestion des métadonnées
Utilisation des zones de recherche
Gestion des mots clés
Présentation de l'architecture de pertinence de la recherche de contenu d'entreprise