Recherche plein texte ("Full Text Search") avec SQL Server 2005
Dans les nouveautés/améliorations de la gamme Microsoft , je vais pour une fois parler un peu de SQL Server 2005.
Non pas de la CLR embarquée, des nouveautés tansAct SQL et autres DTS et services tiers mais d'un point qui m'a toujours intéréssé : la recherche plein texte
** Par contre, si vous etes vraiment curieux des nouveautés de SQL Server 2005, faites un petit tour sur http://www.bedotnet.com/Default.aspx?tabid=57
Qu'est ce que la recheche plein texte ?
>>> C'est la possibilité de rechercher dans un volume de contenu (souvent documentaire) des occurences de texte et de les afficher selon divers axes de tri ou pondération
>>> Attention, je ne parle pas de simple zone de recherche associé à des LIKE, mais de vrai index de recherche avec des capacités linguistiques internationnal, une compréhension de la grammaire et des ponderations efficaces le tout avec de vraie performance
En résumé, Indexer, Chercher et Trouver de l'information vite et bien.
** Pour les passionnés/curieux du sujet en techno MS, je vous renvoit vers un vieux post de mon blog : Si on parlait de Microsoft Search Technologies ?
SQL server depuis sa version 7 permet justement de lancer des recherche plein texte avec des predicats dédiés comme "FreetextTable" ou "Contains" directementsur ces colonnes de texte ou d'image
>>> Et oui, on peut chercher dans des fichiers PDF ou Word stockés dans SQL Server
>>> Et oui, on peut developper de vrai solution de portail de contenu jsute avec SQL Server (Pas besoin de SharePoint si si
)
(Cependant la recherche sous SPS vas bien plus loin mais tout dépend de son besoin à vrai dire)
Plus besoin d'Index Server ou tout autre solution de recopie en fichier HTML metataggé sur un disque !!!
(Même si la solution a bien des avantages, on perd quand même beaucoup de fonctionnalités ...)
Voici un bon exemple d'implémentation (un peu ancien mais clair): http://msdn.microsoft.com/archive/default.asp?url=/archive/en-us/dnarexnt00/html/ewn0092.asp
Bien voila, que SQL Server 2005 monte encore d'un cran (pour en pas dire plus) ses capacités de recherche poru le bonheur de tous
- Indexation plein texte des flux XML
- Lacement de recherche plein texte sur des serveurs liés :
- Gestionnaire de Backup Restore sur les catalogues de recherche
- Amelioration des performances de recherche et d'indexation
- Data definition language (DDL) pour la gestion des indexes de recherche (l'ancien sytéme de proc stock d'admin reste présent je vous rassure)
- sp_detach et sp_attach_db : les catalogues de recherche peuvent être déplacés
- Recherche multi colonnes enfin possible et non plus one-or-all (enfinnnnn...)
- Ranking pré compilé avec FREETEXTTABLE query : de vrai performance pour les recherche naturel d'habitude si gourmande
- Un service d'indexation dédié ä SQL Server (donc indépendant des updates du search du server et optimisé a la probématique de SQL Server)
- Paramétrage et spécifications des Word Breaker d'un index
- Intégration de la recherche dans le SQL Profiler
Hum hum, demain me parait de plus en plus radieux avec SQL Server 
Pour aller un peu plus loin, tout est bien décris dans cet article du MSDN :
SQL Server 2005 Full-Text Search: Internals and Enhancements
Bonne lecture et bonne recherche
(Dis Nix, tu passes quand CS sous Yukon et Freetext Search
)
Ce post vous a plu ? Ajoutez le dans vos favoris pour ne pas perdre de temps à le retrouver le jour où vous en aurez besoin :