Share via


Administrar índices de texto completo

En este tema

  • Ver y cambiar las propiedades de un índice de texto completo

  • Ver las propiedades de tablas y columnas indizadas

  • Obtener información acerca de la columna de clave de texto completo

  • Deshabilitar o volver a habilitar una tabla para la indización de texto completo

  • Quitar un índice de texto completo de una tabla

Ver y cambiar las propiedades de un índice de texto completo

Para ver o cambiar las propiedades de un índice de texto completo en Management Studio

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

  2. Expanda Bases de datos y, a continuación, la base de datos que contiene el índice de texto completo.

  3. Expanda Tablas.

  4. Haga clic con el botón secundario en la tabla en la que esté definido el índice de texto completo, seleccione Índice de texto completo y, en el menú contextual Índice de texto completo, haga clic en Propiedades. De esta forma se abre el cuadro de diálogo Propiedades del índice de texto completo.

  5. En el panel Seleccionar una página, puede seleccionar cualquiera de las páginas siguientes:

    Página

    Descripción

    General

    Muestra las propiedades básicas de un índice de texto completo. Entre estas propiedades se incluyen varias propiedades modificables y varias propiedades invariables, como el nombre de base de datos, el nombre de tabla y el nombre de columna de clave de texto completo. Las propiedades modificables son:

    • Lista de palabras irrelevantes de índice de texto completo

    • Indización de texto completo habilitada

    • Seguimiento de cambios

    • Lista de propiedades de búsqueda

    Para obtener más información, vea Propiedades del índice de texto completo (página General).

    Columnas

    Muestra las columnas de tabla que están disponibles para la indización de texto completo. La columna o columnas seleccionadas son de índices de texto completo. Puede seleccionar tantas columnas disponibles como desee incluir en el índice de texto completo. Para obtener más información, vea Propiedades del índice de texto completo (página Columnas).

    Programaciones

    Utilice esta página para crear o administrar programaciones para un trabajo del Agente SQL Server que inicie un rellenado de tabla incremental para los rellenados del índice de texto completo. Para obtener más información, vea Rellenar índices de texto completo.

    Nota importanteImportante

    Después de salir del cuadro de diálogo Propiedades del índice de texto completo, cualquier programación que se cree se asociará a un trabajo del Agente SQL (Iniciar rellenado incremental de tablas en database_name.table_name).

  6. Haga clic en Aceptar. para guardar cualquier cambio y salir del cuadro de diálogo Propiedades del índice de texto completo.

[ARRIBA]

Ver las propiedades de tablas y columnas indizadas

Varias de las funciones de Transact-SQL, como OBJECTPROPERTYEX, se pueden usar para obtener el valor de diversas propiedades de indización de texto completo. Esta información es útil para administrar y solucionar problemas de la búsqueda de texto completo.

En la siguiente tabla se enumeran las propiedades de texto completo relacionadas con las tablas y columnas indizadas y sus funciones de Transact-SQL relacionadas.

Propiedad

Descripción

Función

FullTextTypeColumn

TYPE COLUMN de la tabla que contiene la información del tipo de documento de la columna.

COLUMNPROPERTY

IsFulltextIndexed

Si una columna se ha habilitado para la indización de texto completo.

COLUMNPROPERTY

IsFulltextKey

Si el índice es la clave de texto completo de una tabla.

INDEXPROPERTY

TableFulltextBackgroundUpdateIndexOn

Si una tabla tiene actualización de índices de texto completo en segundo plano.

OBJECTPROPERTYEX

TableFulltextCatalogId

Identificador del catálogo de texto completo en el que residen los datos de índice de texto completo para la tabla.

OBJECTPROPERTYEX

TableFulltextChangeTrackingOn

Si una tabla tiene habilitado el seguimiento de cambios de texto completo.

OBJECTPROPERTYEX

TableFulltextDocsProcessed

Número de filas procesadas desde el comienzo de la indización de texto completo.

OBJECTPROPERTYEX

TableFulltextFailCount

Número de filas no indizadas por Búsqueda de texto completo.

OBJECTPROPERTYEX

TableFulltextItemCount

Número de filas para las que se crearon índices de texto completo correctamente.

OBJECTPROPERTYEX

TableFulltextKeyColumn

Proporciona el identificador de la columna de clave única de texto completo.

OBJECTPROPERTYEX

TableFullTextMergeStatus

Si una tabla que tiene un índice de texto completo se está combinando actualmente.

OBJECTPROPERTYEX

TableFulltextPendingChanges

Número de entradas de seguimiento de cambios pendientes de procesamiento.

OBJECTPROPERTYEX

TableFulltextPopulateStatus

Estado del rellenado de una tabla de texto completo.

OBJECTPROPERTYEX

TableHasActiveFulltextIndex

Si la tabla tiene un índice de texto completo activo.

OBJECTPROPERTYEX

[ARRIBA]

Obtener información acerca de la columna de clave de texto completo

Normalmente, el resultado de las funciones de valores de conjunto de filas CONTAINSTABLE o FREETEXTTABLE tiene que combinarse con la tabla base. En casos como éste, necesita conocer el nombre de la columna de clave única. Puede consultar si un índice único determinado se utiliza como clave de texto completo y obtener el identificador de la columna de clave de texto completo.

Para consultar si un índice único determinado se utiliza como columna de clave de texto completo

  • Utilice una instrucción SELECT para llamar a la función INDEXPROPERTY. En la llamada a la función, use la función OBJECT_ID para convertir el nombre de la tabla (table_name) en el identificador de tabla, especifique el nombre de un índice único para la tabla y especifique la propiedad del índice IsFulltextKey como sigue:

    SELECT INDEXPROPERTY( OBJECT_ID('table_name'), 'index_name',  'IsFulltextKey' );
    

    Esta instrucción devuelve el valor 1 si el índice se usa para exigir la exclusividad de la columna de clave de texto completo; de lo contrario, se devuelve 0.

Ejemplo

El ejemplo siguiente consulta si el índice PK_Document_DocumentID se usa para exigir la exclusividad de la columna de clave de texto completo como sigue:

USE AdventureWorks
GO
SELECT INDEXPROPERTY ( OBJECT_ID('Production.Document'), 'PK_Document_DocumentID',  'IsFulltextKey' )

Este ejemplo devuelve 1 si el índice PK_Document_DocumentID se utiliza para exigir la exclusividad de la columna de clave de texto completo. De lo contrario, devuelve 0 o NULL. NULL implica que está usando un nombre de índice no válido, el nombre de índice no corresponde a la tabla, la tabla no existe, etcétera.

Para buscar el identificador de la columna de clave de texto completo

  • Todas las tablas habilitadas para texto completo tienen una columna que se usa para aplicar las filas únicas de la tabla (columna de clave única). La propiedad TableFulltextKeyColumn obtenida mediante la función OBJECTPROPERTY proporciona la identidad de esta columna de clave única.

    Para obtener este identificador, puede utilizar una instrucción SELECT con el fin de llamar a la función OBJECTPROPERTYEX. Use la función OBJECT_ID para convertir el nombre de la tabla (table_name) en el identificador de tabla y especificar la propiedad TableFulltextKeyColumn como sigue:

    SELECT OBJECTPROPERTYEX(OBJECT_ID( 'table_name'), 'TableFulltextKeyColumn' ) AS 'Column Identifier';
    

Ejemplos

En el ejemplo siguiente se devuelve el identificador de la columna de clave de texto completo o NULL. NULL implica que está usando un nombre de índice no válido, el nombre de índice no corresponde a la tabla, la tabla no existe, etcétera.

USE AdventureWorks;
GO
SELECT OBJECTPROPERTYEX(OBJECT_ID('Production.Document'), 'TableFulltextKeyColumn');
GO

En el ejemplo siguiente se muestra cómo usar el identificador de la columna de clave única para obtener el nombre de la columna.

USE AdventureWorks;
GO
DECLARE @key_column sysname
SET @key_column = Col_Name(Object_Id('Production.Document'),
ObjectProperty(Object_id('Production.Document'),
'TableFulltextKeyColumn') 
)
SELECT @key_column AS 'Unique Key Column';
GO

Este ejemplo devuelve una columna de conjunto de resultados denominada Unique Key Column, que muestra una única fila que contiene el nombre de la columna de clave única de la tabla Document, DocumentID. Tenga en cuenta que, si esta consulta contuviera un nombre de índice no válido, el nombre del índice no correspondiera a la tabla, la tabla no existiera, etc., devolvería NULL.

[ARRIBA]

Deshabilitar o volver a habilitar una tabla para la indización de texto completo

En SQL Server, todas las bases de datos creadas por el usuario están habilitadas para texto completo de forma predeterminada. Además, una tabla individual se habilitará automáticamente para la indización de texto completo en cuanto se cree un índice de texto completo en la misma y se agregue una columna al índice. Una tabla se deshabilitará automáticamente para la indización de texto completo cuando se quite la última columna de su índice de texto completo.

En una tabla que tiene un índice de texto completo, se puede deshabilitar o volver a habilitar manualmente una tabla para la indización de texto completo utilizando SQL Server Management Studio.

Para habilitar una tabla para la indización de texto completo

  1. Expanda el grupo de servidores, expanda Bases de datos y, a continuación, expanda la base de datos que contenga la tabla que desee habilitar para la indización de texto completo.

  2. Expanda Tablas y haga clic con el botón secundario en la tabla que desea deshabilitar o volver a habilitar para la indización de texto completo.

  3. Seleccione Índice de texto completo y, a continuación, haga clic en Deshabilitar índice de texto completo o en Habilitar índice de texto completo.

[ARRIBA]

Quitar un índice de texto completo de una tabla

Para quitar un índice de texto completo de una tabla

  1. En el Explorador de objetos, haga clic con el botón secundario en la tabla que contiene el índice de texto completo que desea eliminar.

  2. Seleccione Eliminar índice de texto completo.

  3. Cuando se le pida, haga clic en Aceptar para confirmar que desea eliminar el índice de texto completo.

[ARRIBA]