sp_fulltext_keymappings (Transact-SQL)

Devuelve las asignaciones entre los identificadores de documento (DocIds) y los valores de clave de texto completo. La columna DocId contiene valores para un entero bigint que se asigna a un determinado valor de clave de texto completo en una tabla con índice de texto completo. Los valores de DocId que cumplen una condición de búsqueda se pasan desde el motor de búsqueda de texto completo al motor de base de datos, donde se asignan a valores de clave de texto completo de la tabla base en la que se realizan las consultas. La columna de clave de texto completo es un índice único requerido en una columna de la tabla. 

Icono de vínculo a temasConvenciones de sintaxis de Transact-SQL

Sintaxis

sp_fulltext_keymappings { table_id | table_id, docid | table_id, NULL, key }

Parámetros

  • table_id
    Identificador de objeto de la tabla con índice de texto completo. Si especifica un table_id no válido, se devuelve un error. Para obtener información sobre cómo obtener el identificador de objeto de una tabla, vea OBJECT_ID (Transact-SQL).

  • docid
    Identificador de documento interno (DocId) que corresponde al valor de clave. Un valor de docid no válido no devuelve ningún resultado. Para obtener información sobre los identificadores de documento, vea Estructura de los índices de texto completo.

  • key
    Valor de clave de texto completo de la tabla especificada. Un valor de key no válido no devuelve ningún resultado. Para obtener información acerca de los valores de clave de texto completo, vea Cómo consultar sobre la columna de clave de texto completo (Transact-SQL).

Nota importanteImportante

Para obtener información sobre cómo usar uno, dos o tres parámetros, vea "Notas" más adelante en este tema.

Valores de código de retorno

Ninguno.

Conjuntos de resultados

Nombre de la columna

Tipo de datos

Descripción

DocId

bigint

Columna de identificador de documento interno (DocId) que corresponde al valor de clave.

Key

*

Valor de clave de texto completo de la tabla especificada.

Si no hay ninguna clave de texto completo en la tabla de asignación, se devuelve un conjunto de filas vacío.

* El tipo de datos para Key es el mismo que el tipo de datos de la columna de clave de texto completo de la tabla base.

Permisos

Esta función es pública y no requiere permisos especiales.

Notas

En la tabla siguiente, se describe el efecto de usar uno, dos o tres parámetros.

Esta lista de parámetros…

Tiene este resultado…

table_id

Cuando se invoca con el parámetro table_id únicamente, sp_fulltext_keymappings devuelve todos los valores de clave de texto completo (Key) de la tabla base especificada, junto con el DocId que corresponde a cada clave. Esto incluye las claves pendientes de eliminación.

Esta función resulta útil para solucionar problemas de diversa índole. Es especialmente útil para ver el contenido del índice de texto completo cuando el tipo de datos de la clave de texto completo seleccionada no es Integer. Esto implica combinar los resultados de sp_fulltext_keymappings con los resultados de sys.dm_fts_index_keywords_by_document. Para obtener más información, vea sys.dm_fts_index_keywords_by_document (Transact-SQL).

Sin embargo, le recomendamos que, siempre que sea posible, ejecute sp_fulltext_keymappings con parámetros que especifiquen una clave de texto completo o un DocId específico. Esto es mucho más eficaz que devolver un mapa de claves completo, sobre todo si se trata de una tabla muy grande para la cual el costo por rendimiento de devolver el mapa de claves completo puede ser elevado.

table_id, docid

Si solo se especifican table_id y docid, docid debe ser nonNULL y especificar un DocId válido en la tabla especificada. Esta función resulta útil para aislar la clave de texto completo personalizada de la tabla base que corresponde al DocId de un determinado índice de texto completo.

table_id, NULL, key

Si hay tres parámetros, el segundo parámetro debe ser NULL, y key debe ser nonNULL y especificar un valor de clave de texto completo válido en la tabla especificada. Esta función resulta útil para aislar el DocId que corresponde a una determinada clave de texto completo de la tabla base.

Se devolverá un error en cualquiera de las condiciones siguientes:

  • Ha especificado un table_id no válido.

  • La tabla no dispone de un índice de texto completo.

  • Se ha encontrado NULL para un parámetro que no debe ser NULL.

Ejemplos

[!NOTA]

Los ejemplos de esta sección usan la tabla Production.ProductReview de la base de datos de ejemplo AdventureWorks. Puede crear este índice ejecutando el ejemplo proporcionado por la tabla ProductReview en CREATE FULLTEXT INDEX (Transact-SQL).

A. Obtener todos los valores Key y DocId

En el ejemplo siguiente se usa una instrucción DECLARE para crear una variable local, @table\_id, y asignar el identificador de la tabla ProductReview como su valor. En el ejemplo se ejecuta sp_fulltext_keymappings especificando @table\_id para el parámetro table_id.

[!NOTA]

El uso de sp_fulltext_keymappings con solamente el parámetro table_id es apropiado para tablas pequeñas.

USE AdventureWorks;
GO
DECLARE @table_id int = OBJECT_ID(N'Production.ProductReview');
EXEC sp_fulltext_keymappings @table_id;
GO

En este ejemplo se devuelven todos los identificadores DocId y claves de texto completo de la tabla, del siguiente modo:

docid

key

1

1

1

2

2

2

3

3

3

4

4

4

B. Obtener el valor DocId para un valor Key específico

En el ejemplo siguiente se usa una instrucción DECLARE para crear una variable local, @table\_id, y asignar el identificador de la tabla ProductReview como su valor. En el ejemplo se ejecuta sp_fulltext_keymappings especificando @table\_id para el parámetro table_id, NULL para el parámetro docid y 4 para el parámetro key.

[!NOTA]

El uso de sp_fulltext_keymappings con solamente el parámetro table_id es apropiado para tablas pequeñas.

USE AdventureWorks;
GO
DECLARE @table_id int = OBJECT_ID(N'Production.ProductReview');
EXEC sp_fulltext_keymappings @table_id, NULL, 4;
GO

En este ejemplo se devuelven los resultados siguientes.

docid

key

4

4

4

Historial de cambios

Contenido actualizado

Se agregaron ejemplos.