Configurar y administrar palabras irrelevantes y listas de palabras irrelevantes para la búsqueda de texto completoConfigure and Manage Stopwords and Stoplists for Full-Text Search

SE APLICA A: síSQL Server síAzure SQL Database noAzure SQL Data Warehouse noAlmacenamiento de datos paralelos APPLIES TO: yesSQL Server yesAzure SQL Database noAzure SQL Data Warehouse noParallel Data Warehouse

Para evitar que un índice de texto completo se llene demasiado, SQL ServerSQL Server dispone de un mecanismo que descarta las cadenas más frecuentes que no ayudan en la búsqueda.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. Estas cadenas descartadas se denominan palabras irrelevantes.These discarded strings are called stopwords. Durante la creación de índices, el motor de texto completo omite las palabras irrelevantes del índice de texto completo.During index creation, the Full-Text Engine omits stopwords from the full-text index. Eso significa que las consultas de texto completo no buscarán las palabras irrelevantes.This means that full-text queries will not search on stopwords.

Palabras irrelevantes.Stopwords. Una palabra irrelevante puede ser una palabra con significado en un idioma específico.A stopword can be a word with meaning in a specific language. Por ejemplo, en inglés, las palabras como "a", "and", "is" y "the" se omiten en el índice de texto completo porque se ha determinado que no son útiles en una búsqueda.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. Una palabra irrelevante también puede ser un token que carezca de significado lingüístico.A stopword can also be a token that does not have linguistic meaning.

Listas de palabras irrelevantes.Stoplists. Las palabras irrelevantes se administran en bases de datos mediante objetos denominados listas de palabras irrelevantes.Stopwords are managed in databases using objects called stoplists. Una lista de palabras irrelevantes es una lista de palabras que, cuando se asocia a un índice de texto completo, se aplica a las consultas de texto completo en ese índice.A stoplist is a list of stopwords that, when associated with a full-text index, is applied to full-text queries on that index.

Utilizar una listas de palabras irrelevantes existenteUse an existing stoplist

Puede utilizar una lista de palabras irrelevantes existente de las maneras siguientes:You can use an existsing stoplist in the following ways:

  • Usar la lista de palabras irrelevantes proporcionada por el sistema en la base de datos.Use the system-supplied stoplist in the database. SQL ServerSQL Server se distribuye con una lista de palabras irrelevantes del sistema que contiene las palabras irrelevantes usadas normalmente para cada idioma compatible; es decir, para cada idioma asociado de forma predeterminada a determinados separadores de palabras.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. Puede copiar la lista de palabras irrelevantes del sistema y personalizar la copia agregando y quitando palabras irrelevantes.You can copy the system stoplist and customize your copy by adding and removing stopwords.

    La lista de palabras irrelevantes del sistema se instala en la base de datos Resource .The system stoplist is installed in the Resource database.

  • Use una lista de palabras irrelevantes personalizada de otra base de datos en la instancia del servidor actual y luego agregue o quite palabras irrelevantes cuando sea necesario.Use an existing custom stoplist from another database in the current server instance, then add or drop stopwords as appropriate.

Crear una nueva lista de palabras irrelevantesCreate a new stoplist

Crear una nueva lista de palabras irrelevantes con Transact-SQLCreate a new stoplist with Transact-SQL

Use CREATE FULLTEXT STOPLIST.Use CREATE FULLTEXT STOPLIST.

Crear una nueva lista de palabras irrelevantes con Management StudioCreate a new stoplist with Management Studio

  1. En el Explorador de objetos, expanda el servidor.In Object Explorer, expand the server.

  2. Expanda Bases de datosy luego la base de datos en la que quiere crear la lista de palabras irrelevantes de texto completo.Expand Databases, and then expand the database in which you want to create the full-text stoplist.

  3. Expanda Almacenamientoy luego haga clic con el botón derecho en Lista de palabras irrelevantes de texto completo.Expand Storage, and then right-click Full-Text Stoplists.

  4. Seleccione Nueva lista de palabras irrelevantes de texto completo.Select New Full-Text Stoplist.

  5. Escriba el nombre de la nueva lista de palabras irrelevantes.Enter your new stoplist's name.

  6. Opcionalmente, especifique a otra persona como propietario de la lista de palabras irrelevantes.Optionally, specify someone else as the stoplist owner.

  7. Seleccione una de las opciones de creación de lista de palabras irrelevantes siguientes:Select one of the following create stoplist options:

    • Crear una lista de palabras irrelevantes vacíaCreate an empty stoplist

    • Crear a partir de la lista de palabras irrelevantes del sistemaCreate from the system stoplist

    • Crear a partir de una lista de palabras irrelevantes de texto completo existenteCreate from an existing full-text stoplist

    Para obtener más información, vea Nueva lista de palabras irrelevantes de texto completo (página General).For more information, see New Full-Text Stoplist (General Page).

  8. Haga clic en Aceptar.Click OK.

Usar una lista de palabras irrelevantes en consultas de texto completoUse a stoplist in full-text queries

Para usar una lista de palabras irrelevantes en consultas, es necesario asociarla a un índice de texto completo.To use a stoplist in queries, you must associate it with a full-text index. Puede asociar una lista de palabras irrelevantes a un índice de texto completo en el momento de crear el índice, o puede modificar el índice más adelante y agregarle una lista de palabras irrelevantes.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.

Crear un índice de texto completo y asociarle una lista de palabras irrelevantesCreate a full-text index and associate a stoplist with it

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

Asociar o desasociar una lista de palabras irrelevantes y un índice de texto completo existenteAssociate or disassociate a stoplist with an existing full-text index

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

Cambiar las palabras irrelevantes de una lista de palabras irrelevantesChange the stopwords in a stoplist

Agregue o quite palabras irrelevantes de una lista de palabras irrelevantes con Transact-SQLAdd or drop stopwords from a stoplist with Transact-SQL

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

Agregue o quite palabras irrelevantes de una lista de palabras irrelevantes con Management StudioAdd or drop stopwords from a stoplist with Management Studio

  1. En el Explorador de objetos, expanda el servidor.In Object Explorer, expand the server.

  2. Expanda Bases de datosy, a continuación, expanda la base de datos.Expand Databases, and then expand the database.

  3. Expanda Almacenamientoy, a continuación, seleccione Listas de palabras irrelevantes de texto completo.Expand Storage, and then select Full Text Stoplists.

  4. Haga clic con el botón derecho en la lista de palabras irrelevantes cuyas propiedades quiere cambiar y seleccione Propiedades.Right-click the stoplist whose properties you want to change, and select Properties.

  5. En el cuadro de diálogo Propiedades de lista de palabras irrelevantes de texto completo :In the Full-Text Stoplist Properties dialog box:

    1. En el cuadro de lista Acción, seleccione una de las siguientes acciones: Agregar palabra irrelevante, Eliminar palabra irrelevante, Eliminar todas las palabras irrelevantes o Borrar lista de palabras irrelevantes.In the Action list box, select one of the following actions: Add stopword, Delete stopword, Delete all stopwords, or Clear stoplist.

    2. Si el cuadro de texto Palabra irrelevante está habilitado para la acción seleccionada, escriba una única palabra irrelevante.If the Stopword text box is enabled for the selected action, enter a single stopword. Esta palabra irrelevante debe ser única; es decir, no debe estar todavía en esta lista de palabras irrelevantes para el idioma que seleccione.This stopword must be unique; that is, not yet in this stoplist for the language that you select.

    3. Si el cuadro de lista Idioma de texto completo está habilitado para la acción seleccionada, seleccione un idioma.If the Full-text language list box is enabled for the selected action, select a language.

  6. Haga clic en Aceptar.Click OK.

Administrar listas de palabras irrelevantes y su usoManage stoplists and their usage

Ver todas las palabras irrelevantes de una lista de palabras irrelevantesView all the stopwords in a stoplist

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

Obtener información sobre todas las listas de palabras irrelevantes de la base de datos actualGet info about all the stoplists in the current database

Utilice sys.fulltext_stoplists (Transact-SQL) y sys.fulltext_stopwords (Transact-SQL).Use sys.fulltext_stoplists (Transact-SQL) and sys.fulltext_stopwords (Transact-SQL).

Ver el resultado de la tokenización de una combinación entre un separador de palabras, un diccionario de sinónimos y una lista de palabras irrelevantesView the tokenization result of a word breaker, thesaurus, and stoplist combination

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

Suprimir un mensaje de error si las palabras irrelevantes causan error en una operación booleana en una consulta de texto completoSuppress an error message if stopwords cause a Boolean operation on a full-text query to fail

Utilice la opción de configuración del servidor transform noise words.Use the transform noise words Server Configuration Option.

Más información sobre la posición de la palabra irrelevanteMore info about stopword position

Aunque omite la inclusión de palabras irrelevantes, el índice de texto completo tiene en cuenta la posición de las mismas.Although it ignores the inclusion of stopwords, the full-text index does take into account their position. Tomemos como ejemplo la frase en inglés "Instructions are applicable to these Adventure Works Cycles models ".For example, consider the phrase, "Instructions are applicable to these Adventure Works Cycles models". La siguiente tabla muestra la posición de las palabras en la frase:The following table depicts the position of the words in the phrase:

WordWord PosiciónPosition
InstructionsInstructions 11
areare 22
applicableapplicable 33
ento 44
thesethese 55
AdventureAdventure 66
WorksWorks 77
CyclesCycles 88
modelosmodels 99

Las palabras irrelevantes "are", "to" y "these" que se encuentran en las posiciones 2, 4 y 5 quedan excluidas del índice de texto completo.The stopwords "are", "to", and "these" that are in positions 2, 4, and 5 are left out of the full-text index. Sin embargo, se mantiene la información de su posición y, de este modo, no se ve afectada la posición de las demás palabras de la frase.However, their positional information is maintained, thereby leaving the position of the other words in the phrase unaffected.

Actualizar las palabras irrelevantes de SQL Server 2005Upgrade noise words from SQL Server 2005

SQL Server 2005 (9.x)SQL Server 2005 (9.x) .noise words have been replaced by stopwords. Cuando una base de datos se actualiza desde SQL Server 2005 (9.x)SQL Server 2005 (9.x), los archivos de palabras irrelevantes de esa versión dejan de usarse.When a database is upgraded from SQL Server 2005 (9.x)SQL Server 2005 (9.x), the noise-word files are no longer used. Sin embargo, los archivos de palabras irrelevantes están almacenados en la carpeta FTDATA\ FTNoiseThesaurusBak y se pueden usar posteriormente al actualizar o compilar las listas de palabras irrelevantes correspondientes.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. Para obtener información sobre cómo actualizar los archivos de palabras irrelevantes a listas de palabras irrelevantes, vea Actualizar la búsqueda de texto completo.For information about upgrading noise-word files to stoplists, see Upgrade Full-Text Search.