Configurar y gestionar las palabras de parada y listas de parada para Full-Text Búsqueda

Se aplica a:SQL ServerAzure SQL DatabaseAzure SQL Managed Instance

Para evitar que un índice de texto completo se hinche, el Motor de base de datos de SQL Server tiene un mecanismo que descarta cadenas comunes que no ayudan a la búsqueda. Estas cadenas descartadas se denominan palabras irrelevantes. Durante la creación de índices, el motor de texto completo omite las palabras irrelevantes del índice de texto completo. Esto significa que las consultas en texto completo no buscan en palabras de parada.

Término Description
Palabras clave Una palabra irrelevante puede ser una palabra con significado en un idioma específico. Por ejemplo, en el idioma inglés, palabras como a, and, is, y the se omiten del índice de texto completo porque se sabe que son inútiles para una búsqueda. Una palabra clave también puede ser un símbolo que no tiene significado lingüístico.
Listas de exclusión Las palabras de parada se gestionan en bases de datos utilizando objetos llamados listas de parada. 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.

Usar una lista de exclusión existente

Puede usar una lista de parada existente de las siguientes maneras:

  • Usar la lista de palabras irrelevantes proporcionada por el sistema en la base de datos. El Motor de base de datos incluye una lista de registros del sistema que contiene las palabras clave más usadas para cada idioma soportado, es decir, para cada idioma asociado por defecto a determinados rompe-palabras. Puede copiar la lista de palabras irrelevantes del sistema y personalizar la copia agregando y quitando palabras irrelevantes.

    La lista de paradas del sistema se instala en la Base de Datos de Recursos.

  • Utiliza una lista de stoplists personalizada existente de otra base de datos en la instancia actual del servidor, y luego añade o elimina las palabras stopword según corresponda.

Crear una nueva lista de exclusión

Puedes crear una lista de paradas usando Transact-SQL (T-SQL) o SQL Server Management Studio (SSMS).

Crear una nueva lista de palabras irrelevantes con Transact-SQL

Utilice CREATE FULLTEXT STOPLIST.

Crea una nueva lista de bloqueos con SQL Server Management Studio

  1. En el Explorador de objetos, expanda el servidor.

  2. Expanda Bases de datos y luego la base de datos en la que quiere crear la lista de palabras irrelevantes de texto completo.

  3. Expanda Almacenamiento y luego haga clic con el botón derecho en Lista de palabras irrelevantes de texto completo.

  4. Seleccione Nueva lista de palabras irrelevantes de texto completo.

  5. Introduzca el nombre de su nueva lista de exclusión.

  6. Si lo desea, indique a otra persona como propietario de la lista de exclusión.

  7. Seleccione una de las opciones de creación de lista de palabras irrelevantes siguientes:

    • Crear una lista de exclusión vacía

    • Crear a partir de la lista de palabras irrelevantes del sistema

    • Crear a partir de una lista de palabras irrelevantes de texto completo existente

    Para obtener más información, vea Nueva lista de palabras irrelevantes de texto completo (página general).

  8. Seleccione Aceptar.

Usar una lista de exclusión en consultas de texto completo

Para usar una lista de palabras irrelevantes en consultas, es necesario asociarla a un índice de texto completo. 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.

tarea Método
Crea un índice en texto completo y asócialo con una lista de bloqueos Utilice CREATE FULLTEXT INDEX.
Asociar o desasociar una lista de palabras irrelevantes y un índice de texto completo existente Utilice ALTER FULLTEXT INDEX.

Cambiar las palabras irrelevantes de una lista de palabras irrelevantes

Puedes modificar las palabras clave en una lista usando Transact-SQL (T-SQL) o SQL Server Management Studio (SSMS).

Agregue o quite palabras irrelevantes de una lista de palabras irrelevantes con Transact-SQL

Utilice ALTER FULLTEXT STOPLIST.

Añadir o eliminar palabras clave de una lista de paradas con SQL Server Management Studio

  1. En el Explorador de objetos, expanda el servidor.

  2. Expanda Bases de datosy, a continuación, expanda la base de datos.

  3. Expanda Storage y, a continuación, seleccione Full Text Stoplists.

  4. Haga clic con el botón derecho en la lista de palabras irrelevantes cuyas propiedades quiere cambiar y seleccione Propiedades.

  5. En el cuadro de diálogo Propiedades de lista de palabras irrelevantes de texto completo :

    1. En el cuadro de lista Acción , seleccione una las acciones siguientes: Agregar palabra irrelevante, Eliminar palabra irrelevante, Eliminar todas las palabras irrelevanteso Borrar lista de palabras irrelevantes.

    2. Si el cuadro de texto Palabra irrelevante está habilitado para la acción seleccionada, escriba una única palabra irrelevante. Esta palabra final debe ser única. No puede estar ya en esta lista de palabras excluidas para el idioma que selecciones.

    3. Si el cuadro de lista Idioma de texto completo está habilitado para la acción seleccionada, seleccione un idioma.

  6. Seleccione Aceptar.

Administrar listas de exclusión y su uso

Utiliza los siguientes métodos para ver y gestionar las listas de parada.

tarea Método
Ver todas las palabras irrelevantes de una lista de palabras irrelevantes Usa sys.fulltext_stopwords.
Obtén información sobre todas las listas de paradas en la base de datos actual Usa sys.fulltext_stoplists y sys.fulltext_stopwords.
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 irrelevantes Usa sys.dm_fts_parser.
Suprimir un mensaje de error si las palabras vacías hacen que falle una operación booleana en una consulta de texto completo Utilice Configuración del servidor: transformar palabras vacías.

Más información sobre la posición de la palabra de cierre

Aunque el índice de texto completo ignora la inclusión de palabras clave, sí tiene en cuenta su posición. Por ejemplo, consideremos la frase, Instructions are applicable to these Adventure Works Cycles models. La siguiente tabla muestra la posición de las palabras en la frase:

Word Posición
Instructions 1
are 2
applicable 3
to 4
these 5
Adventure 6
Works 7
Cycles 8
models 9

Las palabras areclave , to, y these que están en las posiciones 2, 4 y 5 se omiten del índice del texto completo. 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.

Actualizar las palabras irrelevantes de SQL Server 2005

Las palabras de ruido de SQL Server 2005 (9.x) se sustituyen por palabras vacías. Cuando se actualiza una base de datos desde SQL Server 2005 (9.x), los archivos de palabras irrelevantes dejan de usarse. Sin embargo, los archivos de palabra ruidosa se almacenan en la FTDATA\FTNoiseThesaurusBak carpeta y puedes usarlos más adelante cuando actualices o construyas las listas de paradas correspondientes. 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.