Índices de texto

Actualizado: 17 de julio de 2006

Un índice de texto es un tipo especial de índice funcional basado en testigos creado y mantenido por el servicio Motor de texto completo de Microsoft para SQL Server (MSFTESQL). El proceso de creación de un índice de texto difiere bastante de la creación de otros tipos de índice. En lugar de generar una estructura de árbol B basada en un valor almacenado en una determinada fila, MSFTESQL genera una estructura de índice invertida, apilada y comprimida basada en testigos individuales del texto que se indiza.

En SQL Server 2005, el tamaño de un índice de texto sólo está limitado por los recursos de memoria disponibles del equipo en el que se ejecuta la instancia de SQL Server.

El proceso de creación y mantenimiento de un índice de texto se denomina llenado del índice. Microsoft admite los siguientes tipos de llenado del índice de texto:

  • Llenado completo
  • Llenado basado en el seguimiento de cambios
  • Llenado basado en la marca de hora incremental

Llenado completo

Suele producirse cuando se llena por primera vez un catálogo o índice de texto. Para el mantenimiento posterior de los índices, se puede utilizar el llenado de seguimiento de cambios o el llenado incremental.

Durante un llenado completo de un catálogo de texto, se crean entradas de índice para todas las filas de todas las tablas del catálogo. Si se solicita un llenado completo de una tabla, se crean entradas de índice para todas las filas de esa tabla.

Si no desea llenar el índice de texto en el momento de crearlo, utilice la instrucción CREATE FULLTEXT INDEX y especifique NO POPULATION junto con la opción CHANGE TRACKING OFF. El índice sólo se llena después de ejecutar el comando ALTER FULLTEXT INDEX con la cláusula START FULL, INCREMENTAL o UPDATE POPULATION.

Llenado basado en el seguimiento de cambios

SQL Server mantiene un registro de las filas que se han modificado en una tabla configurada para la indización de texto. Estos cambios se propagan al índice de texto.

Para iniciar el seguimiento de cambios, debe especificarse la opción WITH CHANGE_TRACKING en la instrucción CREATE FULLTEXT INDEX. Cuando se utiliza el seguimiento de cambios, puede especificarse el modo en que se propagarán los cambios al índice de texto.

[!NOTA] El llenado de seguimiento de cambios requiere un llenado inicial del texto en cuestión.

Para propagar automáticamente los cambios al índice de texto, utilice la opción AUTO en la instrucción CREATE FULLTEXT INDEX o ALTER FULLTEXT INDEX.

Si se especifica la opción MANUAL, los cambios se propagan manualmente según lo programado o mediante el Agente SQL Server.

[!NOTA] El seguimiento de cambios implica una ligera sobrecarga. Utilice la opción CHANGE TRACKING OFF si no desea que SQL Server realice un seguimiento de los cambios.

Llenado basado en la marca de hora incremental

El llenado incremental actualiza el índice de texto de las filas que se hayan agregado, eliminado o modificado desde el último llenado o en el curso del último llenado. Para realizar un llenado incremental, es necesario que la tabla indizada tenga una columna del tipo de datos timestamp. Si no existe una columna de tipo timestamp, no puede llevarse a cabo un llenado incremental. Si se solicita un llenado incremental en una tabla sin una columna de tipo timestamp, se llevará a cabo un llenado completo.

Las peticiones de llenado incremental se implementan como llenados completos si alguno de los metadatos que afectan al índice de texto de la tabla ha cambiado desde el último llenado. Esto incluye alterar cualquier definición de columna, índice o índice de texto.

Al final de un llenado, el recopilador de SQL registra un nuevo valor de tipo timestamp. Este valor equivale al valor de tipo timestamp más grande que haya encontrado el recopilador de SQL. Será el valor que se utilice cuando se inicie un llenado incremental posterior.

Vea también

Conceptos

Aspectos básicos de la búsqueda de texto

Otros recursos

CREATE FULLTEXT INDEX (Transact-SQL)
ALTER FULLTEXT INDEX (Transact-SQL)

Ayuda e información

Obtener ayuda sobre SQL Server 2005

Historial de cambios

Versión Historial

17 de julio de 2006

Contenido nuevo:
  • Se agregó la oración que indica que el tamaño de un índice de texto sólo está limitado por los recursos de memoria disponibles del equipo.