Outil de recherche gratuit destiné aux développeurs pour la recherche SharePoint 2010 et FAST Search for SharePoint

Je travaille par intermittences depuis des mois sur un outil destiné aux développeurs qui soit une aide à l’utilisation du moteur de requêtes de SharePoint 2010. Il est probablement suffisamment avancé maintenant pour que certains commencent à l’utiliser. J’envisage de le mettre sur CodePlex afin que d’autres puissent y contribuer et l’améliorer, car il s’agit davantage d’un projet communautaire, mais je ne m’y engage pas encore totalement.

 

Initialement, j’ai écrit l’outil en tant que mise à niveau de l’ancien outil de requête MOSS pour SharePoint 2007 (qui était une mise à niveau de mon outil de requête SharePoint d’origine destiné à SharePoint 2003 ; oui, je travaille effectivement sur ce sujet depuis autant de temps). J’ai quand même ajouté pas mal d’améliorations par rapport à l’ancien outil de requête MOSS si bien qu’il est devenu vraiment très différent ; j’ai ajouté un écran entier simplement pour gérer les composants du service de recherche à partir de cette application. Ces allées et venues constantes entre mes outils de requête et le navigateur étaient fatigantes, essayant de changer certaines choses dans le service de recherche puis découvrir quelles nouvelles valeurs étaient produites, etc. Aussi, pour traiter cela, le premier écran au démarrage de l’application vous donne une foule d’informations sur le service de recherche ; en cliquant sur un bouton, vous obtenez la liste des services de recherche (puisque vous pouvez en avoir plusieurs maintenant) et vous pouvez tous les rechercher, y compris les proxys des services de recherche que vous utilisez à partir d’autres batteries de serveurs. Lorsque vous obtenez les détails d’un service de recherche, vous pouvez consulter toutes les sources de contenu, obtenir l’état de l’analyse et obtenir la liste des adresses de départ pour cette source de contenu. Vous pouvez lancer une analyse complète ou incrémentale par clic droit dans l’outil, et aussi ajouter et/ou supprimer des adresses de départ supplémentaires pour une source de contenu.

 

Voici un exemple de l’écran d’accueil de l’outil ; j’en ai fait une sorte de photographie à intervalles afin que vous puissiez voir les différents menus contextuels :

 

En haut de l’écran, apparaissent des infos de base sur l’application de recherche, que vous pouvez également modifier à partir de cet outil. L’activation de la journalisation des requêtes (Query logging enabled) et des suggestions de requêtes (Query suggestions enabled) ont probablement un intérêt primordial. Il y a une section Mots clés et Meilleurs résultats (Keywords and Best Bets) afin de facilement trouver les meilleurs résultats que vous avez définis dans différentes collections de sites et savoir à quoi s’attendre pour différentes requêtes exécutées. La section Règles d’analyse (Crawl Rules) vous permet de connaître toutes les règles qui ont été définies pour l’application de recherche et de vérifier si quelque chose a été exclu ou analysé différemment d’une certaine façon. Dans la section Propriétés gérées (Managed Properties), vous pouvez voir toutes les propriétés gérées définies dans l’application de recherche. La vue ici n’affiche que quelques propriétés de chaque propriété gérée (vous pouvez aussi changer Use In Scopes (Utiliser dans les étendues) directement ici dans cet écran), mais si vous double-cliquez sur une propriété gérée, vous obtenez une boîte de dialogue distincte avec TOUTES les propriétés de cette propriété gérée. Vous pouvez alors modifier ces attributs de la propriété à partir de cette boîte de dialogue. Voici à quoi elle ressemble :

 

 

La section Scopes affiche les différentes étendues qui ont été définies. Elle permet également de voir si l’affichage s’effectue dans l’interface utilisateur admin, les pages de résultats de recherche alternative, etc. Finalement, la section en bas de l’écran, FAST User Contexts Properties, affiche les propriétés des contextes utilisateur FAST. Ces propriétés peuvent être utilisées pour créer des contextes utilisateur pour FAST Search for SharePoint, comme je l’ai décrit dans le billet de blog : http://blogs.technet.com/b/speschka/archive/2009/12/09/using-custom-properties-to-create-a-fast-search-for-sharepoint-2010-user-context.aspx

 

Lorsque vous cliquez sur l’onglet Queries (Requêtes), vous passez sur un écran très similaire à celui de l’ancien outil de requête MOSS. C’est là que vous pouvez effectivement créer vos requêtes à exécuter avec SharePoint ou FAST et obtenir quelques résultats de recherche en retour. Voici à quoi il ressemble :

 

 

Là encore, vous avez la liste de toutes les propriétés gérées. Vous pouvez cocher la case Include (Inclure) en regard d’une propriété gérée quelconque pour que celle-ci soit retournée dans les résultats de requête. Vous pouvez taper des critères d’interrogation pour chaque propriété gérée dans la colonne Criteria (Critères). Vous pouvez également taper des mots à rechercher partout dans les documents ou les éléments du champ d’édition Query (Requête). Comme avant, à ce stade, vous pouvez cliquer sur le bouton Make SQL pour créer le code SQL utilisé par le service Web de requête SharePoint pour exécuter la requête. Lorsque vous appuyez sur le bouton Run Query, votre requête est exécutée et une nouvelle boîte de dialogue affiche les résultats. Voici un exemple de quelques résultats de recherche :

 

 

Dans les résultats de la requête, vous obtenez des éléments importants. En haut de l’écran, il y a le code Xml qui a été envoyé au service Web de requête pour exécuter la requête. Si vous utilisez le modèle objet pour interroger, vous pouvez copier le code SQL directement à partir de l’onglet Queries (Requêtes) ; si vous utilisez le service Web de recherche, vous pouvez copier le code Xml directement à partir de cette page de résultats de recherche. Vous voyez également toutes les occurrences retournées par votre requête et savez donc si celle-ci fonctionne correctement. En bas de l’écran, vous voyez des données supplémentaires qui ont été retournées (en supposant que vous ayez demandé l’affichage des résultats sous forme d’ensemble de données plutôt que sous forme Xml). La grille Best Bets (Meilleurs résultats) affiche les Meilleurs résultats visuels de FAST. La grille Special Terms (Termes spéciaux) au centre affiche les meilleurs résultats qui ont été ajoutés dans les collections de sites pour la recherche SharePoint. Enfin, la grille Refinements à droite affiche les perfectionnements retournés dans la requête ; cela ne fonctionne que pour l’interrogation FAST et si vous cochez la case Include Refinements (Inclure les perfectionnements) sur l’onglet Queries (Requêtes).

 

L’ajout de la prise en charge de FQL (FAST Query Language) est réellement l’amélioration la plus importante ici par rapport à l’outil de requête MOSS. FAST ne prenant pas en charge la syntaxe SQL de SharePoint Search, vous êtes donc limité à des requêtes soit par mots clés, soit FQL avec une application de recherche FAST. Les requêtes par mots clés sont assez simples, mais FQL est un outil flambant neuf pour la plupart des développeurs SharePoint. Pour faciliter la progression sur la courbe d’apprentissage, l’onglet Queries (Requêtes) inclut un menu déroulant qui indique Select FQL... (Sélectionner FQL). Ce menu contient un certain nombre d’exemples de requêtes FQL ; c’est un moyen simple de placer différentes clauses FQL et options correspondantes et de les agencer pour voir les diverses possibilités de FQL. J’ai également inclus un lien au-dessus qui vous dirige vers l’aide de la syntaxe FQL sur MSDN. Donc, si vous recherchez d’autres options FQL dans le menu et n’êtes pas certain de leur mode de fonctionnement, il vous suffit de cliquer sur ce lien pour obtenir l’aide FQL et en apprendre davantage. Voici un exemple de résultat de recherche FQL simple, qui montre également quelques perfectionnements retournés :

 

 

Voici donc de quoi il retourne en quelques mots ; cela devrait être suffisant pour vous lancer et réfléchir à comment vous servir de cet outil. Pour ce qu’il vaut, je l’ai toujours trouvé, comme l’outil de requête MOSS, vraiment utile, non seulement pour le développement de ma propre recherche personnalisée, mais encore davantage pour dépanner ce qui ressemble à un problème de recherche dans une batterie de serveurs. Rien n’est comparable à ce petit outil permettant d’exécuter toutes sortes de requêtes personnalisées pour arriver à une conclusion définitive lorsque je suspecte la présence d’un problème. J’ai joint à ce billet un ZIP contenant les fichiers nécessaires pour faire fonctionner l’outil. Si vous avez des suggestions d’ajouts, n’hésitez pas à m’en faire part dans les commentaires. Comme je le disais, s’il y a un intérêt à le mettre dans CodePlex pour que d’autres y travaillent dessus à leur tour, je peux m’en occuper. En espérant que vous apprécierez.

 

Mise à jour du 20 août 2010 : Ajout de prise en charge pour créer et gérer les propriétés mappées. Omission stupide au départ puisque ces opérations sont parmi les plus fréquentes dans le développement de recherche personnalisée. Ajout également de prise en charge pour la mise à jour de l’état de l’analyse d’une source de contenu. Donc maintenant, vous pouvez voir ce qui se passe lorsque vous lancez une analyse.

Mise à jour du 22 août 2010 : Ajout de prise en charge pour exporter tous les attributs d’une propriété gérée dans un fichier Xml afin de pouvoir les examiner hors connexion. Ajout de prise en charge pour importer à partir du même fichier Xml afin de pouvoir copier la configuration d’une propriété gérée dans une autre propriété gérée.

 

Ce billet de blog a été traduit de l’anglais. L’article d’origine est disponible ici : Free Developer Search Tool for SharePoint 2010 Search and FAST Search for SharePoint