Compartir a través de


Gestionar índices de Full-Text

Ver y cambiar las propiedades de un índice de Full-Text

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, expanda la base de datos que contiene el índice de texto completo.

  3. Expanda Tablas.

  4. Haga clic con el botón derecho en la tabla en la que se define el índice de texto completo, seleccione Full-Text índice y, en el menú contextual del índice deFull-Text , haga clic en Propiedades. Se abrirá 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 del índice de texto completo. Entre ellas se incluyen varias propiedades modificables y una serie de propiedades inmutables, como el nombre de la base de datos, el nombre de la tabla y el nombre de la columna de clave de texto completo. Las propiedades modificables son:

    Lista de exclusión de índiceFull-Text

    Full-Text indexación habilitada

    Seguimiento de cambios

    Lista de propiedades de búsqueda



    Para obtener más información, vea Full-Text Propiedades del índice (página General).
    Columnas Muestra las columnas de tabla que están disponibles para la indexación de texto completo. La columna o columnas seleccionadas están indizadas con índices de texto completo. Puede seleccionar tantas de las columnas disponibles como quiera incluir en el índice de texto completo. Para obtener más información, vea Full-Text propiedades de índice (página Columnas).
    Horarios Use esta página para crear o administrar horarios para un trabajo del Agente SQL Server que inicia una población incremental de tablas para las poblaciones de índices de texto completo. Para obtener más información, vea Rellenar índices de texto completo.

    **Importante** Después de salir del cuadro de diálogo Propiedades del índice deFull-Text , cualquier programación recién creada se asocia a un trabajo del Agente SQL Server (Iniciar rellenado incremental de tablas en database_name.table_name).
  6. Haga clic en Aceptar. para guardar los cambios y salir del cuadro de diálogo Propiedades del índice de texto completo .

Ver las propiedades de las tablas y columnas indexadas

Se pueden usar varias funciones de Transact-SQL como OBJECTPROPERTYEX para obtener el valor de varias propiedades de indexación de texto completo. Esta información es útil para administrar y solucionar problemas de búsqueda de texto completo.

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

Propiedad Descripción Función
FullTextTypeColumn TYPE COLUMN en la tabla que contiene la información de tipo de documento de la columna. COLUMNPROPERTY
IsFulltextIndexed Si se ha habilitado una columna para la indexación de texto completo. PROPIEDADCOLUMNA
IsFulltextKey Si el índice es la clave de texto completo de una tabla. INDEXPROPERTY
TableFulltextBackgroundUpdateIndexOn Si una tabla tiene indexación de actualización de fondo de texto completo. OBJECTPROPERTYEX
TableFulltextCatalogId Identificador de catálogo de texto completo en el que residen los datos de índice de texto completo de la tabla. OBJECTPROPERTYEX
TableFulltextChangeTrackingOn Indica si una tabla tiene habilitado el seguimiento de cambios de texto completo. OBJECTPROPERTYEX
TableFulltextDocsProcessed Número de filas procesadas desde el inicio de la indexación de texto completo. OBJECTPROPERTYEX
TableFulltextFailCount El número de filas Full-Text que la búsqueda no indexó. OBJECTPROPERTYEX
TableFulltextItemCount Número de filas que se indizaron correctamente con texto completo. OBJECTPROPERTYEX
TableFulltextKeyColumn Identificador de columna de la columna clave única de texto completo. OBJECTPROPERTYEX
TableFullTextMergeStatus Si una tabla que tiene un índice de texto completo está actualmente en proceso de fusión. OBJECTPROPERTYEX
TableFulltextPendingChanges Número de entradas pendientes de seguimiento de cambios que se van a procesar. OBJECTPROPERTYEX
TableFulltextPopulateStatus Estado de población de una tabla completa. OBJECTPROPERTYEX
TableHasActiveFulltextIndex Si una tabla tiene un índice de texto completo activo. OBJECTPROPERTYEX

Obtención de información sobre la columna clave de Full-Text

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

Para averiguar si se usa un índice único determinado como columna de clave de texto completo

  1. Use una instrucción SELECT para llamar a la función INDEXPROPERTY . En la llamada de 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 IsFulltextKey propiedad index, como se indica a continuación:

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

    Esta instrucción devuelve 1 si el índice se utiliza para asegurar la unicidad de la columna clave del texto completo y 0 si no se utiliza.

Ejemplo

En el siguiente ejemplo, se pregunta sobre si el índice PK_Document_DocumentID se utiliza para enforzar la unicidad de la columna clave de texto completo, como sigue:

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

En este ejemplo se devuelve 1 si el índice PK_Document_DocumentID se utiliza para garantizar la unicidad 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 del índice no se corresponde con la tabla, la tabla no existe o así sucesivamente.

Para buscar el identificador de la columna clave de texto completo

  1. Cada tabla habilitada para texto completo tiene una columna que se usa para aplicar filas únicas para la tabla (la columna unique**key). La TableFulltextKeyColumn propiedad, obtenida de la función OBJECTPROPERTYEX, contiene el identificador de columna de la columna de clave única.

    Para obtener este identificador, puede usar una instrucción SELECT para 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 TableFulltextKeyColumn propiedad , como se indica a continuación:

    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 del índice no se corresponde con la tabla, la tabla no existe o así sucesivamente.

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  

En este ejemplo se devuelve una columna de conjunto de resultados denominada Unique Key Column, que muestra una sola fila que contiene el nombre de la columna de clave única de la tabla Document, DocumentID. Tenga en cuenta que si esta consulta contenía un nombre de índice no válido, el nombre del índice no se correspondía con la tabla, la tabla no existía, etc., devolvería NULL.

Deshabilitar o volver a habilitar una tabla para la indexación Full-Text

En SQL Server, todas las bases de datos creadas por el usuario están habilitadas de forma predeterminada en texto completo. Además, se habilita automáticamente una tabla individual para la indexación de texto completo en cuanto se crea un índice de texto completo en ella y se agrega una columna al índice. Una tabla se deshabilita automáticamente para la indexación de texto completo cuando se quita la última columna de su índice de texto completo.

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

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

  1. Expanda el grupo de servidores, expanda Bases de datos y expanda la base de datos que contiene la tabla que desea habilitar para la indexación de texto completo.

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

  3. Seleccione índiceFull-Text y, a continuación, haga clic en Deshabilitar índice Full-Text o Habilitar índice Full-Text.

Quitar un índice de Full-Text 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 derecho en la tabla que tiene el índice de texto completo que desea eliminar.

  2. Seleccione Eliminar índice Full-Text.

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