FREETEXT, prédicat dans la syntaxe SQL de la recherche de contenu d'entreprise
Partie de la clause WHERE qui prend en charge la recherche de mots et d'expressions dans des colonnes de texte.
FREETEXT
([<full-text_column>,]'<freetext_condition>'[,<LCID>])…
Remarques
Utilisez le prédicat FREETEXT pour trouver des documents contenant des combinaisons des mots à rechercher, disséminés dans la colonne. Utilisez par contre le prédicat CONTAINS pour trouver des correspondances « exactes ». Vous pouvez aussi rechercher des correspondances exactes d'expressions avec le prédicat FREETEXT en plaçant l'expression entre des guillemets doubles.
La référence de colonne de texte intégral est facultative. Pour des raisons de pertinence, nous vous conseillons de spécifier ici DEFAULTPROPERTIES. Par exemple :
…WHERE FREETEXT(DEFAULTPROPERTIES, 'computer software')
Vous pouvez aussi spécifier une seule colonne, ou un alias de groupement de colonnes, pour tester le prédicat FREETEXT. Toutes les propriétés de texte indexées sont recherchées. Bien que la colonne ne soit pas obligatoirement une propriété de texte, les résultats risquent de ne pas avoir de sens si la colonne contient un autre type de données. Le nom de la colonne peut être un identificateur normal ou délimité, et vous devez le séparer de la condition à l'aide d'une virgule. Si aucune condition de texte intégral n'est fournie, c'est la colonne Contenu, qui est le corps du document, qui est utilisée.
Vous pouvez également spécifier la référence de colonne de texte intégral avec un astérisque (*) afin d'indiquer toutes les colonnes.
Vous pouvez spécifier les paramètres régionaux de la recherche pour le prédicat FREETEXT, afin que le moteur de recherche utilise le séparateur de mots, la liste de mots parasites, les formes d'inflexion et l'ordre de tri appropriés pour la requête de recherche. Pour spécifier les paramètres régionaux, fournissez l'identificateur LCID Microsoft Windows standard. Par exemple, 1036 est le LCID pour le français de France. Le LCID doit être le dernier élément placé dans les parenthèses de la clause FREETEXT. Vous trouverez des informations importantes sur la recherche et les langues dans « Utilisation de recherches localisées » de la section Informations sur le langage de requête SQL de la recherche de contenu d'entreprise.
Notes
Les paramètres régionaux par défaut pour la recherche sont ceux du système.
Vous devez placer la partie <freetext_condition> dans des guillemets simples ; elle doit comporter un ou plusieurs termes de recherche. Le prédicat FREETEXT ne prend pas en charge les opérations logiques. Pour rechercher une expression comme s'il s'agissait d'un seul mot, placez-la entre des guillemets doubles.
Par défaut, avec le prédicat FREETEXT, la requête renvoie les documents pour lesquels ces conditions sont vraies :
Le document contient tous les termes de recherche dans au moins une des colonnes spécifiées.
Un des termes de recherche doit également se trouver dans la colonne Contenu, qui est la propriété contenant le corps du document.
Les termes ne doivent pas nécessairement apparaître dans un ordre particulier. Les documents qui contiennent plus de termes de recherche peuvent avoir des valeurs de colonne de rang plus élevées.
Important
Nous vous conseillons d'utiliser un seul prédicat FREETEXT dans une requête de recherche. Si vous utilisez plusieurs instances, la requête s'exécute sans aucune erreur, mais les classements des résultats risquent de ne pas être optimaux.
Le prédicat FREETEXT prend aussi en charge les caractères d'inclusion « + » et d'exclusion « - », avec les mêmes règles de correspondance que la syntaxe de mot clé. Pour plus d'informations sur les règles de correspondance, voir Inclusion et exclusion de la syntaxe de mot clé de la recherche de contenu d'entreprise.
Exemples
L'exemple suivant indique comment rechercher des documents qui contiennent les mots « computer », « software » et « hardware ».
…WHERE FREETEXT('computer software hardware')
Notes
Ceci ne fonctionne pas comme le prédicat FREETEXT dans SharePoint Portal Server 2003.
Vous pouvez utiliser une correspondance de mot unique et d'expression dans le même prédicat FREETEXT. L'exemple suivant indique comment rechercher les documents contenant le mot « software » et l'expression « computer hardware ».
…FREETEXT('software "computer hardware"')
Pour des requêtes avec des contractions et effectuées avec le prédicat FREETEXT, vous devez doubler le guillemet dans la contraction ; ceci n'est pas nécessaire avec le prédicat CONTAINS.
Par exemple, la syntaxe suivante échoue :
…WHERE FREETEXT(*,'"We'll always have Paris"')
La syntaxe correcte comporte deux guillemets simples.
Cette syntaxe fonctionne correctement :
…WHERE FREETEXT(*,'"We''ll always have Paris"')
L'exemple suivant montre comment rechercher les documents qui contiennent les termes « hardware » et « store », mais pas le terme « computer ».
…WHERE FREETEXT(DEFAULTPROPERTIES, 'hardware store -computer')
Notes
Les filtres de propriétés ne sont pas pris en charge avec le prédicat FREETEXT.
L'exemple suivant exclut les documents dans lesquels la propriété de créateur contient le terme « John », mais les documents qui contiennent les termes « author », « John », « computer », « hardware » sont retenus.
WHERE FREETEXT(DEFAULTPROPERTIES, 'author:John computer hardware')
L'exemple suivant indique comment rechercher des documents dans lesquels la propriété de créateur contient le terme « John », et les termes « computer » et « hardware » ailleurs dans le document.
…WHERE CONTAINS(author, 'John') AND FREETEXT(DEFAULTPROPERTIES, 'computer hardware')
Notes
Le classement des résultats de cette requête est basé seulement sur le prédicat FREETEXT.
Dans cette section
Mots parasites et le prédicat FREETEXT dans la syntaxe SQL de la recherche de contenu d'entreprise
Voir aussi
Autres ressources
CONTAINS, prédicat dans la syntaxe SQL de la recherche de contenu d'entreprise
WITH -- AS, prédicat d'alias de groupe dans la syntaxe SQL de la recherche de contenu d'entreprise