Administrar la búsqueda de texto

La administración de la búsqueda de texto se divide en cuatro tareas principales:

  • Crear índices de texto y catálogos de texto.
  • Alterar los índices de texto y catálogos de texto existentes.
  • Quitar los índices de texto y catálogos de texto existentes.
  • Programar y mantener el llenado de índices.

La administración de la búsqueda de texto se realiza en los niveles de servidor, base de datos, tabla y columna. En el nivel de servidor, pueden configurarse algunas propiedades que afectan a todo el servidor, como resource_usage, para aumentar o reducir la cantidad de recursos del sistema utilizados por el servicio de texto. En el nivel de base de datos, se puede habilitar o deshabilitar el uso del servicio Microsoft Full-Text Engine for SQL Server (MSFTESQL) en una base de datos. Puede crear y quitar los metadatos de uno o más catálogos de texto en una base de datos habilitada para texto.

[!NOTA] Todas las bases de datos de Microsoft SQL Server 2005 están habilitadas para texto de forma predeterminada.

En el nivel de tabla, puede habilitar o deshabilitar la funcionalidad de texto en una tabla. Si se cambia la definición de texto de una tabla (por ejemplo, mediante la inclusión de una nueva columna, que también se indizará para la búsqueda de texto), se deberá volver a llenar el catálogo de texto asociado para sincronizar el índice de texto con la nueva definición de texto. En el nivel de columna, se puede agregar o quitar columnas que admitan consultas de texto.

Consideraciones para la creación de índices de texto y catálogos de texto

Antes de aprender a crear índices de texto, es importante saber en qué se diferencian de los índices normales de SQL Server. En la tabla siguiente se enumeran estas diferencias.

Índices de texto Índices normales de SQL Server

Se almacenan en el sistema de archivos, pero se administran a través de la base de datos.

Se almacenan bajo el control de la base de datos en que se definen.

Sólo se permite un índice de texto por cada tabla.

Se permiten varios índices normales por cada tabla.

Si se desea agregar datos a los índices de texto, lo que se denomina llenado, debe solicitarse mediante una programación o una petición específica, o bien puede realizarse automáticamente al agregar nuevos datos.

Se actualizan automáticamente cuando se insertan, actualizan o eliminan los datos en los que están basados.

Se agrupan en la misma base de datos en uno o más catálogos de texto.

No se agrupan.

En todos estos niveles, hay servicios disponibles para recuperar metadatos e información de estado.

Al igual que en los índices normales de SQL Server, los índices de texto se pueden actualizar automáticamente cuando se modifican los datos de las tablas asociadas. También es posible volver a llenar los índices de texto manualmente en los intervalos adecuados, pero esto puede consumir una gran cantidad de tiempo y recursos. Por lo tanto, la actualización del índice suele realizarse como un proceso asincrónico que se ejecuta en segundo plano en periodos de actividad reducida en la base de datos.

Las tablas que tienen las mismas características de actualización (como un número de cambios reducido frente a un número elevado de cambios, o las tablas que cambian frecuentemente en un periodo determinado del día) deben estar agrupadas y se les debe asignar el mismo catálogo de texto. Al configurar la programación del llenado de catálogos de texto de esta manera, los índices de texto permanecen sincronizados con las tablas sin que ello afecte negativamente al uso de recursos del servidor de la base de datos en momentos en los que la actividad de la base de datos es más intensa.

Es importante diseñar la colocación de índices de texto para tablas en catálogos de texto. Cuando asigne una tabla a un catálogo de texto, tenga en cuenta las siguientes indicaciones:

Seleccione siempre el índice exclusivo más pequeño disponible para la clave exclusiva de texto. (Un índice de tipo entero de cuatro bytes es el más apropiado.) Esto reduce significativamente los recursos necesarios para el servicio Microsoft Search en el sistema de archivos. Si la clave principal es grande (más de 100 bytes), considere la posibilidad de seleccionar otro índice exclusivo en la tabla (o de crear otro índice exclusivo) como clave exclusiva de texto. Si, por el contrario, el tamaño de la clave exclusiva de texto supera el tamaño máximo permitido (900 bytes), no se podrá realizar un llenado de texto.

Si indiza una tabla con millones de filas, asigne la tabla a su propio catálogo de texto.

Piense en la cantidad de cambios que se producen en las tablas que se indizan con índices de texto, así como en el número de filas de las tablas. Si el número total de filas que se cambian, junto con los números de filas en la tabla durante el último llenado de texto, asciende a varios millones de filas, asigne la tabla a su propio catálogo de texto.

Vea también

Conceptos

Índices de texto
Introducción a la búsqueda de texto
Arquitectura de la búsqueda de texto
Consultar SQL Server mediante la búsqueda de texto

Otros recursos

Conceptos de la búsqueda de texto

Ayuda e información

Obtener ayuda sobre SQL Server 2005