semantickeyphrasetable (Transact-SQL)

Se aplica a:SQL Server

Devuelve una tabla con cero, una o más filas para las frases clave asociadas a las columnas especificadas de la tabla indicada.

Se puede hacer referencia a esta función de conjunto de filas en la cláusula FROM de una instrucción SELECT como si fuese un nombre de tabla normal.

Convenciones de sintaxis de Transact-SQL

Sintaxis

SEMANTICKEYPHRASETABLE  
    (  
    table,  
    { column | (column_list) | * }  
     [ , source_key ]  
    )  

Argumentos

table
Nombre de una tabla con indización de texto completo y semántica habilitada.

Este nombre puede ser un nombre de una a cuatro partes, pero no se permite un nombre de servidor remoto.

column
Nombre de la columna indizada para la que deben devolverse resultados. La columna debe tener habilitada la indización semántica.

lista_de_columnas
Indica varias columnas, separadas por comas y escritas entre paréntesis. Todas las columnas deben tener habilitada la indización semántica.

*
Indica que se incluyen todas las columnas que tienen la indización semántica habilitada.

source_key
Clave única de la fila, para solicitar los resultados de una fila concreta.

La clave se convierte implícitamente en el tipo de la clave única de texto completo en la tabla de origen siempre que sea posible. La clave se puede especificar como una constante o como una variable, pero no puede ser una expresión ni el resultado de una subconsulta escalar. Si se omite source_key, se devuelven resultados para todas las filas.

Tabla devuelta

En la tabla siguiente se describe la información sobre las frases clave que devuelve esta función de conjunto de filas.

Column_name Tipo Descripción
column_id int Identificador de la columna desde la que se extrajo e indizó la frase clave actual.

Vea las funciones COL_NAME y COLUMNPROPERTY para obtener información detallada sobre cómo recuperar el nombre de columna desde column_id y viceversa.
document_key *

Esta clave coincide con el tipo de la clave única de la tabla de origen.
Valor de clave único del documento o fila de los que se indizó la palabra clave actual.
keyphrase NVARCHAR La frase clave encontrada en la columna identificada por column_id y asociada al documento especificado por document_key.
score REAL Valor relativo de esta frase clave en su relación con todas las demás frases clave del mismo documento de la columna indizada.

El valor es un valor fraccionario decimal en el intervalo de [0.0, 1.0] donde una puntuación superior representa una ponderación mayor y 1.0 es la puntuación perfecta.

Notas generales

Para obtener más información, vea Buscar frases clave en documentos con búsqueda semántica.

Metadatos

Para obtener información y estado sobre la extracción y el rellenado de frases clave semánticas, consulte las siguientes vistas de administración dinámica:

Seguridad

Permisos

Necesita permisos SELECT en la tabla base en la que se crearon los índices semánticos y de texto completo.

Ejemplos

Ejemplo 1: Buscar las frases clave principales de un documento determinado

En el ejemplo siguiente se recuperan las 10 frases clave principales del documento especificado por la variable @DocumentId en la columna Document de la tabla Production.Document de la base de datos de ejemplo AdventureWorks. La variable @DocumentId representa un valor de la columna de clave del índice de texto completo. La función SEMANTICKEYPHRASETABLE recupera estos resultados eficazmente mediante una búsqueda de índice en vez de un recorrido de tabla. En este ejemplo se supone que la columna está configurada para texto completo y para indización semántica.

SELECT TOP(10) KEYP_TBL.keyphrase  
FROM SEMANTICKEYPHRASETABLE  
    (  
    Production.Document,  
    Document,  
    @DocumentId  
    ) AS KEYP_TBL  
ORDER BY KEYP_TBL.score DESC;  
  

Ejemplo 2: Buscar los documentos principales que contienen una frase clave específica

En el ejemplo siguiente se recuperan los 25 primeros documentos que contengan la palabra clave "Bracket" de la columna Document de la tabla Production.Document de la base de datos de ejemplo AdventureWorks. En este ejemplo se supone que la columna está configurada para texto completo y para indización semántica.

SELECT TOP (25) DOC_TBL.DocumentID, DOC_TBL.DocumentSummary  
FROM Production.Document AS DOC_TBL  
    INNER JOIN SEMANTICKEYPHRASETABLE  
    (  
    Production.Document,  
    Document  
    ) AS KEYP_TBL  
ON DOC_TBL.DocumentID = KEYP_TBL.document_key  
WHERE KEYP_TBL.keyphrase = 'Bracket'  
ORDER BY KEYP_TBL.Score DESC;