Bienvenue à Blogs CodeS-SourceS Identification | Inscription | Aide

SQL Server : Recherche approchée via le Moteur de recherche de texte intégral (FullText Search) et CONTAINS

Le moteur de recherche de texte intégral ou FullText Search vous connaissez ? C'est une composant à la base Windows qui très bientôt (prochaine béta) être intégré complètement à SQL Server 2008.

Ici l'idée n'est pas de vous dire de foncer sur SQL Server 2008, mais dore et déjà vous parler de ce qu'il y a actuellement.
Tout ce qui suit est supporté par SQL Server 2005, même SQL Server 2000 sauf pour la partie synonymes.

Ce moteur permet lorsqu'il est utilisé avec SQL Server d'utiliser 2 types de mot clefs

  • FREETEXT, fonctionnement grossièrement comme un LIKE '%motclef%' OR LIKE '%motclef2%'
  • CONTAINS, qui lui dispose de beaucoup d'options dont la forme de recherche la notion de poids, etc.

De quoi est capable CONTAINS ?

  • Rechercher les formes dérivées d'un mot
  • Rechercher de synonymes d'un mot
  • Spécifier une proximité entre 2 mots
  • Spécifier un poids pour les mots dans la recherche

Quelques exemples de syntaxes de CONTAINS :

Même type de que FREETEXT, on recherche un mot donné :

SELECT Name, ListPrice
FROM Production.Product
WHERE ListPrice = 80.99
AND CONTAINS(Name, 'Mountain');

Recherche d'un terme ou d'un autre. Les combinaisons à base de « AND » fonctionnent aussi.

SELECT Name
FROM Production.Product
WHERE CONTAINS(Name, ' "Mountain" OR "Road" ')

Recherche d'un terme proche d'un autre

SELECT Description
FROM Production.ProductDescription
WHERE CONTAINS(Description, 'bike NEAR performance');

Recherche d'une forme dérivée d'un mot (pluriel, féminin, conjugaison, …)

SELECT Description
FROM Production.ProductDescription
WHERE CONTAINS(Description, ' FORMSOF (INFLECTIONAL, ride) ');

Recherche de termes avec des poids

SELECT Description
FROM Production.ProductDescription
WHERE CONTAINS(Description, 'ISABOUT (performance weight (.8),
comfortable weight (.4), smooth weight (.2) )' );

Recherche en utilisant des synonymes (exemple IE, peut permettre de trouver Internet Explorer)

SELECT Description
FROM Production.ProductDescription
WHERE CONTAINS(Description, ' FORMSOF (THESAURUS , IE) ');

Les synonymes étant stockés dans le fichier de langue correspondant dans le répertoire « C:\Program Files\Microsoft SQL Server\XXXXX\MSSQL\FTData », remplacez XXXX par votre répertoire d'instance.

Bref comme vous le voyez, vous avez de quoi mettre un vrai moteur de recherche dans votre serveur de base de données. Dans SQL Server 2008, le moteur sera de plus intégré directement dans SQL Server, çà ne sera plus un service externe, ce qui promet des performances encore meilleures.

Bonne recherche…

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 :
Publié mercredi 19 décembre 2007 16:19 par christian

Commentaires

Pas de commentaires
Les commentaires anonymes sont désactivés

Les 10 derniers blogs postés

- [PowerShell 3] Télécharger et installer la documentation en ligne par Blog de SPBrouillet (Pierrick BROUILLET) le il y a 17 heures et 29 minutes

- [#SharePoint 2010][#SQLServer 2012] AlwaysOn pour SharePoint (1/4) : Configuration (1ère partie)… par Le blog de Patrick [MVP SharePoint] le il y a 22 heures et 55 minutes

- Job Day @MIC Brussels - .Net Developers on Mobile applications par Le Blog (Vert) d'Arnaud JUND le 05-15-2012, 20:26

- [SharePoint 2010] – SharePoint 2010, Windows (Server) 8 et des erreurs IIS sont dans une VM… par Blog de SPBrouillet (Pierrick BROUILLET) le 05-14-2012, 12:10

- [Event] Windows Azure dev Camp le 20 juin! par Fathi Bellahcene le 05-13-2012, 09:29

- Comment redimensionner une image avec WinRT : plusieurs solutions par Richard Clark le 05-11-2012, 15:43

- Event : Swiss SharePoint Club Meeting #20 à Yverdon par Blog Technique de Romelard Fabrice le 05-11-2012, 15:24

- Réflechissons un peu ce matin à propos des ORM par Richard Clark le 05-11-2012, 08:48

- #SharePoint Solutions Roadshow le 5 juin à Issy ! par Le blog de Patrick [MVP SharePoint] le 05-09-2012, 15:10

- SharePoint : Mes alertes ne marchent pas … Que faire ? Comment réparer ou agir ? par The Mit's Blog le 05-08-2012, 14:59