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
En el Explorador de objetos, expanda el servidor.
Expanda Bases de datos y, a continuación, la base de datos que contiene el índice de texto completo.
Expanda Tablas.
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.
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.
Importante 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).
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. |
|
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. |
|
TableFulltextBackgroundUpdateIndexOn |
Si una tabla tiene actualización de índices de texto completo en segundo plano. |
|
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
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.
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.
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
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.
Seleccione Eliminar índice de texto completo.
Cuando se le pida, haga clic en Aceptar para confirmar que desea eliminar el índice de texto completo.
[ARRIBA]