Configurer et gérer les mots vides et listes de mots vides pour la recherche en texte intégralConfigure and Manage Stopwords and Stoplists for Full-Text Search

S’applique à :Applies to: ouiSQL ServerSQL Server (toutes les versions prises en charge) yesSQL ServerSQL Server (all supported versions) OuiAzure SQL DatabaseAzure SQL DatabaseYesAzure SQL DatabaseAzure SQL DatabaseS’applique à :Applies to: ouiSQL ServerSQL Server (toutes les versions prises en charge) yesSQL ServerSQL Server (all supported versions) OuiAzure SQL DatabaseAzure SQL DatabaseYesAzure SQL DatabaseAzure SQL Database

Pour éviter que l'index de recherche en texte intégral ne devienne encombré, SQL ServerSQL Server utilise un mécanisme qui ignore les chaînes courantes qui ne sont d'aucune utilité pour la recherche.To prevent a full-text index from becoming bloated, SQL ServerSQL Server has a mechanism that discards commonly occurring strings that do not help the search. Ces chaînes ignorées sont appelées des mots vides.These discarded strings are called stopwords. 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.During index creation, the Full-Text Engine omits stopwords from the full-text index. Cela signifie que les requêtes de texte intégral ne rechercheront pas les mots vides.This means that full-text queries will not search on stopwords.

Mots vides.Stopwords. Un mot vide peut être un mot avec une signification dans une langue spécifique.A stopword can be a word with meaning in a specific language. Par exemple, en français, les mots tels que « un », « et », « est » ou « le » sont écartés de l'index de recherche en texte intégral, car ils sont inutiles dans le cadre d'une recherche.For example, in the English language, words such as "a," "and," "is," and "the" are left out of the full-text index since they are known to be useless to a search. Un mot vide peut également être un jeton qui n’a pas de signification linguistique.A stopword can also be a token that does not have linguistic meaning.

Listes de mots vides.Stoplists. Les mots vides sont gérés dans des bases de données à l'aide d'objets appelés des listes de mots vides.Stopwords are managed in databases using objects called stoplists. 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.A stoplist is a list of stopwords that, when associated with a full-text index, is applied to full-text queries on that index.

Utiliser une liste de mots vides existanteUse an existing stoplist

Vous pouvez utiliser une liste de mots vides existante comme suit :You can use an existsing stoplist in the following ways:

  • Utilisez la liste de mots vides fournie par le système dans la base de données.Use the system-supplied stoplist in the database. SQL ServerSQL Server est fourni 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 aux analyseurs lexicaux fournis par défaut.ships with a system stoplist that contains the most commonly used stopwords for each supported language, that is for every language associated with given word breakers by default. Vous pouvez copier la liste de mots vides système et personnaliser cette liste en ajoutant et en supprimant des mots vides.You can copy the system stoplist and customize your copy by adding and removing stopwords.

    La liste de mots vides système est installée dans la base de données Resource .The system stoplist is installed in the Resource database.

  • Utilisez une liste de mots vides personnalisée issue d’une autre base de données dans l’instance de serveur actuelle, puis ajoutez ou supprimez des mots vides au besoin.Use an existing custom stoplist from another database in the current server instance, then add or drop stopwords as appropriate.

Créer une nouvelle liste de mots videsCreate a new stoplist

Créer une nouvelle liste de mots vides avec Transact-SQLCreate a new stoplist with Transact-SQL

Utilisez CREATE FULLTEXT STOPLIST.Use CREATE FULLTEXT STOPLIST.

Créer une nouvelle liste de mots vides avec Management StudioCreate a new stoplist with Management Studio

  1. Dans l'Explorateur d'objets, développez le serveur.In Object Explorer, expand the server.

  2. 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.Expand Databases, and then expand the database in which you want to create the full-text stoplist.

  3. Développez Stockage, puis cliquez avec le bouton droit sur Listes de mots vides de texte intégral.Expand Storage, and then right-click Full-Text Stoplists.

  4. Sélectionnez Nouvelle liste de mots vides de texte intégral.Select New Full-Text Stoplist.

  5. Entrez le nom de votre nouvelle liste de mots vides.Enter your new stoplist's name.

  6. Éventuellement, spécifiez une autre personne comme propriétaire de la liste de mots vides.Optionally, specify someone else as the stoplist owner.

  7. Sélectionnez l'une des options de création de liste de mots vides suivantes :Select one of the following create stoplist options:

    • Créer une liste de mots vides videCreate an empty stoplist

    • Créer à partir de la liste de mots vides systèmeCreate from the system stoplist

    • Créer à partir d'une liste de mots vides de texte intégral existanteCreate from an existing full-text stoplist

    Pour plus d’informations, consultez Nouvelle liste de mots vides de texte intégral (page Général).For more information, see New Full-Text Stoplist (General Page).

  8. Cliquez sur OK.Click OK.

Utiliser une liste de mots vides dans les requêtes de texte intégralUse a stoplist in full-text queries

Pour utiliser une liste de mots vides dans des requêtes, vous devez l’associer à un index de recherche en texte intégral.To use a stoplist in queries, you must associate it with a full-text index. Vous pouvez joindre une liste de mots vides à un index de recherche en texte intégral lorsque vous créez l'index, ou vous pouvez modifier ultérieurement l'index pour ajouter une liste de mots vides.You can attach a stoplist to a full-text index when you create the index, or you can alter the index later to add a stoplist.

Créer un index de recherche en texte intégral et lui associer une liste de mots videsCreate a full-text index and associate a stoplist with it

Utilisez CREATE FULLTEXT INDEX (Transact-SQL).Use CREATE FULLTEXT INDEX (Transact-SQL).

Associer ou dissocier une liste de mots vides avec un index de recherche en texte intégral existantAssociate or disassociate a stoplist with an existing full-text index

Utilisez ALTER FULLTEXT INDEX (Transact-SQL).Use ALTER FULLTEXT INDEX (Transact-SQL).

Changer les mots vides dans une liste de mots videsChange the stopwords in a stoplist

Ajouter ou supprimer des mots vides dans une liste de mots vides avec Transact-SQLAdd or drop stopwords from a stoplist with Transact-SQL

Utilisez ALTER FULLTEXT STOPLIST (Transact-SQL).Use ALTER FULLTEXT STOPLIST (Transact-SQL).

Ajouter ou supprimer des mots vides dans une liste de mots vides avec Management StudioAdd or drop stopwords from a stoplist with Management Studio

  1. Dans l'Explorateur d'objets, développez le serveur.In Object Explorer, expand the server.

  2. Développez Bases de données, puis développez la base de données.Expand Databases, and then expand the database.

  3. Développez Stockage, puis sélectionnez Listes de mots vides de texte intégral.Expand Storage, and then select Full Text Stoplists.

  4. 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.Right-click the stoplist whose properties you want to change, and select Properties.

  5. Dans la boîte de dialogue Propriétés de la liste de mots vides de texte intégral :In the Full-Text Stoplist Properties dialog box:

    1. 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.In the Action list box, select one of the following actions: Add stopword, Delete stopword, Delete all stopwords, or Clear stoplist.

    2. Si la zone de texte Mot vide est activée pour l’action sélectionnée, entrez un mot vide unique.If the Stopword text box is enabled for the selected action, enter a single stopword. Ce nouveau mot vide doit être unique ; autrement dit, il ne doit pas déjà figurer dans la liste de mots vides correspondant à la langue sélectionnée.This stopword must be unique; that is, not yet in this stoplist for the language that you select.

    3. Si la zone de liste Langue de texte intégral est activée pour l’action sélectionnée, sélectionnez une langue.If the Full-text language list box is enabled for the selected action, select a language.

  6. Cliquez sur OK.Click OK.

Gérer les listes de mots vides et leur utilisationManage stoplists and their usage

Afficher tous les mots vides d’une liste de mots videsView all the stopwords in a stoplist

Utilisez sys.fulltext_stopwords (Transact-SQL).Use sys.fulltext_stopwords (Transact-SQL).

Obtenir des informations sur toutes les listes de mots vides dans la base de données actuelleGet info about all the stoplists in the current database

Utilisez sys.fulltext_stoplists (Transact-SQL) et sys.fulltext_stopwords (Transact-SQL).Use sys.fulltext_stoplists (Transact-SQL) and sys.fulltext_stopwords (Transact-SQL).

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 videsView the tokenization result of a word breaker, thesaurus, and stoplist combination

Utilisez sys.dm_fts_parser (Transact-SQL).Use sys.dm_fts_parser (Transact-SQL).

Supprimer un message d’erreur si des mots vides provoquent l’échec d’une opération booléenne sur une requête de texte intégralSuppress an error message if stopwords cause a Boolean operation on a full-text query to fail

Utilisez l’option de configuration de serveur Transformer les mots parasites.Use the transform noise words Server Configuration Option.

Plus d’informations sur la position des mots videsMore info about stopword position

Bien qu'il ignore l'inclusion des mots vides, l'index de recherche en texte intégral prend en considération leur position.Although it ignores the inclusion of stopwords, the full-text index does take into account their position. Prenons l'exemple de l'expression suivante : « Instructions are applicable to these Adventure Works Cycles models ».For example, consider the phrase, "Instructions are applicable to these Adventure Works Cycles models". Le tableau suivant décrit la position des mots dans l'expression :The following table depicts the position of the words in the phrase:

WordWord PositionPosition
InstructionsInstructions 11
areare 22
applicableapplicable 33
parto 44
thesethese 55
AdventureAdventure 66
WorksWorks 77
CyclesCycles 88
modèlesmodels 99

Les mots vides « are », « to » et « these » situés aux positions 2, 4 et 5 sont écartés de l'index de recherche en texte intégral.The stopwords "are", "to", and "these" that are in positions 2, 4, and 5 are left out of the full-text index. Cependant, les informations relatives à leur position sont conservées, sans affecter la position des autres mots de l'expression.However, their positional information is maintained, thereby leaving the position of the other words in the phrase unaffected.

Mettre à niveau des mots parasites à partir de SQL Server 2005Upgrade noise words from SQL Server 2005

SQL Server 2005 (9.x)SQL Server 2005 (9.x) Les mots parasites ont été remplacés par les mots vides.noise words have been replaced by stopwords. Lorsqu'une base de données est mise à niveau à partir de SQL Server 2005 (9.x)SQL Server 2005 (9.x), les fichiers de mots parasites ne sont plus utilisés.When a database is upgraded from SQL Server 2005 (9.x)SQL Server 2005 (9.x), the noise-word files are no longer used. Toutefois, les fichiers de mots parasites sont stockés dans le dossier FTDATA\ FTNoiseThesaurusBak, et vous pouvez les utiliser ultérieurement lors de la mise à jour ou de la génération des listes de mots vides correspondantes.However, the noise-word files are stored in the FTDATA\ FTNoiseThesaurusBak folder, and you can use them later when updating or building the corresponding stoplists. 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.For information about upgrading noise-word files to stoplists, see Upgrade Full-Text Search.