Recherche de mots ou d'expressions dans le voisinage d'autres mots ou expressions (cooccurrents)

Vous pouvez rechercher des mots ou des expressions figurant dans le voisinage d'autres mots ou expressions. De plus, vous pouvez spécifier deux mots ou expressions dans n'importe quel ordre et aboutir au même résultat. Cet exemple recherche le mot « reflector » dans le voisinage du mot « bracket ».

USE AdventureWorks2008R2;
GO
SELECT DocumentID, DocumentSummary, Document
FROM Production.Document AS DocTable INNER JOIN
CONTAINSTABLE(Production.Document, Document, '(Reflector NEAR Bracket)' ) AS KEY_TBL
ON DocTable.DocumentID = KEY_TBL.[KEY]
ORDER BY KEY_TBL.RANK;
GO

Notez que vous pouvez aussi inverser l'ordre des termes dans CONTAINSTABLE pour obtenir le même résultat :

CONTAINSTABLE(Production.Document, Document, '(Bracket NEAR Reflector)' ) AS KEY_TBL

Vous pouvez utiliser le caractère tilde (~) à la place du mot clé NEAR utilisé dans la requête précédente et obtenir les mêmes résultats :

CONTAINSTABLE(Production.Document, Document, '(Reflector ~ Bracket)' ) AS KEY_TBL

Il est possible de spécifier plusieurs mots ou expressions dans les conditions de recherche. Par exemple, il est possible d'écrire :

CONTAINSTABLE(Production.Document, Document, '(Reflector ~ Bracket ~ Installation)' ) AS KEY_TBL

Cela signifie que « Reflector » doit être cooccurrent de « Bracket » et que « Bracket » doit être cooccurrent de « Installation ».