Introducción a la indización de texto completo

El motor de búsqueda de texto completo utiliza la información de los índices de texto completo para compilar las consultas de texto completo que pueden buscar rápidamente en una tabla palabras o combinaciones de palabras determinadas. Un índice de texto completo almacena información sobre las palabras relevantes y su ubicación en una o varias columnas de la tabla de una base de datos. Un índice de texto completo es un tipo especial de índice funcional basado en token que el motor de texto completo genera y mantiene para SQL Server. El proceso de creación de un índice de texto completo difiere de la creación de otros tipos de índice. En lugar de crear una estructura de árbol B basada en un valor almacenado en una fila determinada, el motor de texto completo genera una estructura de índice invertida, apilada y comprimida que se basa en tokens individuales del texto que se indiza. En SQL Server 2008, el tamaño de un índice de texto completo sólo está limitado por los recursos de memoria disponibles del equipo en el que se ejecuta la instancia de SQL Server.

A partir de SQL Server 2008, los índices de texto completo se integran con el motor de base de datos, en lugar de residir en el sistema de archivos como en versiones anteriores de SQL Server. Para una base de datos nueva, el catálogo de texto completo es ahora un objeto virtual que no pertenece a ningún grupo de archivos; es simplemente un concepto lógico que hace referencia al grupo de índices de texto completo. Tenga en cuenta, sin embargo, que durante la actualización de una base de datos de SQL Server 2000 o SQL Server 2005, para cualquier catálogo de texto completo que contenga archivos de datos, se crea un nuevo grupo de archivos; para obtener más información, vea Actualización de la búsqueda de texto completo.

[!NOTA]

En SQL Server 2008, el motor de texto completo reside en el proceso de SQL Server, en lugar de en un servicio independiente. Al integrar el motor de texto completo en el motor de base de datos, se mejora la capacidad de administración de texto completo, la optimización de consultas mixtas y el rendimiento total.

Solo se permite un índice de texto completo por cada tabla. Para crear un índice de texto completo en una tabla, ésta debe tener una única columna que no contenga valores NULL. Puede generar un índice de texto completo en las columnas de tipo char, varchar, nchar, nvarchar, text, ntext, image, xml, varbinary y varbinary(max) se puede indizar para la búsqueda de texto completo. Al crear un índice de texto completo en un image, varbinary o varbinary(max) requiere que se especifique una columna de tipo. Una columna de tipo es una columna de la tabla en la que se almacena la extensión de archivo (.doc, .pdf, .xls, etc.) del documento de cada fila.

Para comprender el funcionamiento del motor de texto completo, es necesario entender la estructura de un índice de texto completo. Para obtener más información, vea Estructura de los índices de texto completo.

El proceso para crear y mantener un índice de texto completo se denomina rellenado (o rastreo). Hay tres tipos de rellenado del índice de texto completo: completo, basado en el seguimiento de cambios y basado en una marca de tiempo incremental. Para obtener más información, vea Rellenado de índices de texto completo.

Para crear un índice de texto completo

Para alterar un índice de texto completo

Para quitar un índice de texto completo