Share via


Introducción a la búsqueda de texto

Actualizado: 17 de julio de 2006

Configurar la capacidad de indización de texto en una tabla en Microsoft SQL Server 2005 es un proceso en dos etapas:

  1. Crear un catálogo de texto para almacenar índices de texto.
  2. Crear índices de texto.

[!NOTA] Las bases de datos en SQL Server están habilitadas para texto de forma predeterminada, a menos que se creen mediante SQL Server Management Studio. Para habilitar una base de datos para la búsqueda de texto al crear una base de datos mediante Management Studio, vea Cómo crear una base de datos (SQL Server Management Studio). Para habilitar una base de datos existente para la búsqueda de texto, vea Cómo habilitar una base de datos para la indización de texto (SQL Server Management Studio).

[!NOTA] También es posible crear índices de texto en vistas indizadas. Para obtener más información acerca de las vistas indizadas, vea Tipos de vistas.

Configurar la búsqueda de texto en AdventureWorks

En el ejemplo siguiente se crea un catálogo de texto en la tabla Document en AdventureWorks.

Para crear un catálogo de texto denominado AdvWksDocFTCat, use la instrucción CREATE FULLTEXT CATALOG:

CREATE FULLTEXT CATALOG AdvWksDocFTCat

Esta instrucción creará el catálogo de texto en el directorio predeterminado especificado durante la configuración. La carpeta denominada AdvWksDocFTCat se encuentra en el directorio predeterminado.

[!NOTA] Para especificar la ubicación del directorio, utilice la cláusula IN PATH. Para obtener más información, vea CREATE FULLTEXT CATALOG (Transact-SQL).

Si lo desea, puede usar Management Studio para crear un catálogo de texto. En el Explorador de objetos, en la base de datos en la que desea crear el catálogo de texto, expanda la carpeta Almacenamiento, haga clic con el botón secundario en la carpeta Catálogos de texto y, a continuación, haga clic en Nuevo catálogo de texto. Para obtener más información, vea Nuevo catálogo de texto (página General).

Los Id. de los catálogos de texto comienzan por 00005 y se incrementan en uno con cada nuevo catálogo que se crea.

Si es posible, se recomienda crear los catálogos de texto en su propia unidad física (o unidades). Como el proceso de creación de un índice de texto consume mucha E/S (en un nivel superior, consiste en leer datos de SQL Server y escribir a continuación el índice en el sistema de archivos), es probable que desee evitar que el subsistema de E/S se convierta en un cuello de botella.

Una vez creado el catálogo de texto, el siguiente paso es crear un índice de texto. Pero antes de poder crear un índice de texto en la tabla Document, es necesario determinar si la tabla tiene un índice único, de una sola columna, que no admite valores NULL. El servicio Motor de texto completo de Microsoft para SQL Server (MSFTESQL) utiliza este índice único para asignar cada fila de la tabla a una clave única comprimible.

Para crear un índice único de una sola columna que no admita valores NULL, ejecute la siguiente instrucción:

CREATE UNIQUE INDEX ui_ukDoc ON Production.Document(DocumentID)

[!NOTA] La tabla Document ya contiene dicha columna. El código anterior es sólo un ejemplo.

Ahora que dispone de una clave única, puede crear un índice de texto en la tabla Document.

CREATE FULLTEXT INDEX ON Production.Document
(
    Document                         --Full-text index column name 
        TYPE COLUMN FileExtension    --Name of column that contains file type information
        Language 0X0                 --0X0 is LCID for neutral language
)
KEY INDEX ui_ukDoc ON AdvWksDocFTCat --Unique index
WITH CHANGE_TRACKING AUTO            --Population type
GO

O bien, puede crear un índice de texto mediante el Asistente para indización de texto. Para obtener más información, vea Cómo iniciar el Asistente para indización de texto (SQL Server Management Studio).

Para obtener información acerca de lo que hay que tener en cuenta para elegir el idioma de columna, vea Consideraciones internacionales para la búsqueda de texto.

Para supervisar el estado del llenado, utilice las funciones FULLTEXTCATALOGPROPERTY u OBJECTPROPERTYEX. Para obtener el estado del llenado del catálogo, ejecute la siguiente instrucción:

SELECT FULLTEXTCATALOGPROPERTY('AdvWksDocFTCat', 'Populatestatus')

Normalmente, si se está realizando un llenado completo, el resultado devuelto es 1.

Vea también

Otros recursos

FULLTEXTCATALOGPROPERTY (Transact-SQL)
OBJECTPROPERTYEX (Transact-SQL)
CREATE FULLTEXT CATALOG (Transact-SQL)
CREATE 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 nota que indica que cuando se crean las bases de datos mediante Management Studio, éstas no están habilitadas de forma predeterminada para la indización de texto.