Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
S’applique à :SQL Server
Base de données Azure SQL
Azure SQL Managed Instance
Pour éviter qu'un index en texte intégral ne devienne gonflé, le Moteur de base de données SQL Server dispose d'un mécanisme qui élimine les chaînes courantes qui n'aident pas la recherche. Ces chaînes ignorées sont appelées des mots vides. Pendant la création d'un index, le moteur de texte intégral omet les mots vides de l'index de recherche en texte intégral. Cela signifie que les requêtes en texte intégral ne recherchent pas sur les mots stop.
| Terme | Description |
|---|---|
| Mots clés | Un mot vide peut être un mot avec une signification dans une langue spécifique. Par exemple, en anglais, des mots tels que a, and, is, et the sont exclus de l’index du texte intégral car ils sont connus comme inutiles pour une recherche. Un mot de passe peut aussi être un jeton qui n’a pas de signification linguistique. |
| Listes d’exclusion | Les mots stops sont gérés dans les bases de données à l’aide d’objets appelés listes d’arrêt. Une liste de mots vides est une liste qui, associée à un index de recherche en texte intégral, s’applique aux requêtes de texte intégral sur cet index. |
Utiliser une liste d’exclusion existante
Vous pouvez utiliser une liste d'exclusion existante de la manière suivante :
Utilisez la liste de mots vides fournie par le système dans la base de données. Le Moteur de base de données est livré avec une liste de mots vides système qui contient les mots vides les plus couramment utilisés pour chaque langue prise en charge, c’est-à-dire pour chaque langue associée par défaut aux analyseurs lexicaux donnés. Vous pouvez copier la liste de mots vides système et personnaliser cette liste en ajoutant et en supprimant des mots vides.
La liste des arrêts du système est installée dans la base de données des ressources.
Utilisez une liste de mots vides personnalisée existante provenant d’une autre base de données dans l’instance de serveur actuelle, puis ajoutez ou supprimez des mots vides selon le cas.
Créer une nouvelle liste d’exclusion
Vous pouvez créer une liste d’arrêts en utilisant Transact-SQL (T-SQL) ou SQL Server Management Studio (SSMS).
Créer une nouvelle liste de mots vides avec Transact-SQL
Utilisez CREATE FULLTEXT STOPLIST.
Créez une nouvelle liste d’arrêts avec SQL Server Management Studio
Dans l'Explorateur d'objets, développez le serveur.
Développez Bases de données, puis développez la base de données dans laquelle vous souhaitez créer la liste de mots vides de texte intégral.
Développez Stockage, puis cliquez avec le bouton droit sur Listes de mots vides de texte intégral.
Sélectionnez Nouvelle liste de mots vides de texte intégral.
Entrez le nom de votre nouvelle liste de mots vides.
Éventuellement, spécifiez une autre personne comme propriétaire de la liste de mots vides.
Sélectionnez l'une des options de création de liste de mots vides suivantes :
Créer une stoplist vide
Créer à partir de la stoplist du système
Créer à partir d'une stoplist de texte intégral existante
Pour plus d’informations, consultez la section Nouvelle stoplist de texte intégral (page Généralités).
Cliquez sur OK.
Utiliser une liste de mots vides dans les requêtes de texte intégral
Pour utiliser une liste de mots vides dans des requêtes, vous devez l’associer à un index de recherche en texte intégral. Vous pouvez associer une liste de mots vides à un index de texte intégral lorsque vous créez l'index, ou vous pouvez modifier l'index ultérieurement pour ajouter une liste de mots vides.
| Tâche | Méthode |
|---|---|
| Créez un index en texte intégral et associez-le à une liste d’arrêts | Utilisez CREATE FULLTEXT INDEX. |
| Associer ou dissocier une liste de mots vides avec un index de recherche en texte intégral existant | Utilisez ALTER FULLTEXT INDEX. |
Changer les mots vides dans une liste de mots vides
Vous pouvez modifier les mots stop-mots dans une liste d’arrêts en utilisant Transact-SQL (T-SQL) ou SQL Server Management Studio (SSMS).
Ajouter ou supprimer des mots vides dans une liste de mots vides avec Transact-SQL
Utilisez ALTER FULLTEXT STOPLIST.
Ajoutez ou supprimez des mots stop-word d’une liste d’arrêts avec SQL Server Management Studio
Dans l'Explorateur d'objets, développez le serveur.
Développez Bases de données, puis développez la base de données.
Développez Stockage, puis sélectionnez Listes de mots vides de texte intégral.
Cliquez avec le bouton droit sur la liste de mots vides dont vous souhaitez modifier les propriétés, puis sélectionnez Propriétés.
Dans la boîte de dialogue Propriétés de la liste de mots vides de texte intégral :
Dans la zone de liste Action , sélectionnez l’une des actions suivantes : Ajouter un mot vide, Supprimer le mot vide, Supprimer tous les mots videsou Effacer la liste de mots vides.
Si la zone de texte Stopword est activée pour l’action sélectionnée, saisissez un seul stopword. Ce mot vide doit être unique. Il ne peut pas déjà être dans cette liste d’arrêts pour la langue que vous choisissez.
Si la zone de liste Langue de texte intégral est activée pour l’action sélectionnée, sélectionnez une langue.
Cliquez sur OK.
Gérer les listes d’exclusion et leur utilisation
Utilisez les méthodes suivantes pour visualiser et gérer les listes d’arrêt.
| Tâche | Méthode |
|---|---|
| Afficher tous les mots vides d’une liste de mots vides | Utilise sys.fulltext_stopwords. |
| Obtenez des informations sur toutes les listes d’arrêt dans la base de données actuelle | Utilisez sys.fulltext_stoplists et sys.fulltext_stopwords. |
| Consulter le résultat de la création de jetons d’une combinaison d’analyseur lexical, de dictionnaire des synonymes et de liste de mots vides | Utilisez sys.dm_fts_parser. |
| Supprimer un message d’erreur si des mots vides font échouer une opération booléenne sur une requête en texte intégral | Utiliser la configuration du serveur : transformer les mots de bruit. |
Plus d’informations sur la position du mot d’arrêt
Bien que l’index intégral ignore l’inclusion des mots secrètes, il prend en compte leur position. Par exemple, considérons l’expression . Instructions are applicable to these Adventure Works Cycles models Le tableau suivant décrit la position des mots dans l'expression :
| Word | Position |
|---|---|
Instructions |
1 |
are |
2 |
applicable |
3 |
to |
4 |
these |
5 |
Adventure |
6 |
Works |
7 |
Cycles |
8 |
models |
9 |
Les mots vides are, to et these qui se trouvent aux positions 2, 4 et 5 sont exclus de l’index de texte intégral. Cependant, les informations relatives à leur position sont conservées, sans affecter la position des autres mots de l'expression.
Mettre à niveau des mots parasites à partir de SQL Server 2005
Les mots parasites de SQL Server 2005 (9.x) sont remplacés par des mots vides. Lorsqu'une base de données est mise à niveau à partir de SQL Server 2005 (9.x), les fichiers de mots parasites ne sont plus utilisés. Cependant, les fichiers de bruit sont stockés dans le FTDATA\FTNoiseThesaurusBak dossier, et vous pouvez les utiliser plus tard lors de la mise à jour ou de la création des stoplists correspondantes. Pour plus d’informations sur la mise à niveau de fichiers de mots parasites en listes de mots vides, consultez Mise à niveau de la fonction de recherche en texte intégral.