Recherche de mots et d'expressions à l'aide de valeurs pondérées (termes pondérés)

Vous pouvez utiliser CONTAINS ou CONTAINSTABLE pour rechercher des mots ou des expressions et spécifier une valeur pondérée. Le poids d'un terme, qui est une mesure numérique comprise entre 0,0 et 1,0, indique le degré d'importance de chaque mot et expression au sein d'un ensemble de mots et d'expressions. L'échelle de valeurs oscille entre un minimum de 0,0 et un maximum de 1,0.

Exemples

L'exemple ci-après illustre une requête qui recherche, à l'aide de valeurs pondérées, toutes les adresses de clients dans lesquelles tout texte débutant par la chaîne « Bay » contient « Street » ou « View ». SQL Server 2008 accorde une valeur de classement plus élevée aux lignes dans lesquelles ces mots apparaissent en plus grand nombre.

USE AdventureWorks2008R2;
GO
SELECT AddressLine1, KEY_TBL.RANK 
FROM Person.Address AS Address INNER JOIN
CONTAINSTABLE(Person.Address, AddressLine1, 'ISABOUT ("Bay*", 
         Street WEIGHT(0.9), 
         View WEIGHT(0.1)
         ) ' ) AS KEY_TBL
ON Address.AddressID = KEY_TBL.[KEY]
ORDER BY KEY_TBL.RANK;
GO

Un terme pondéré peut être utilisé en association avec n'importe lequel des quatre autres types de terme : simple, préfixe, canonique et proximité.