Compartir a través de


Buscar frases clave en documentos con la búsqueda semántica

Se aplica a:SQL Server

Describe cómo buscar las frases clave en documentos o columnas de texto configurados para la indización semántica estadística.

Buscar frases clave en documentos con SEMANTICKEYPHRASETABLE

Para identificar las frases clave en documentos específicos o para identificar documentos que contienen frases clave específicas, consulte la función semantickeyphrasetable (Transact-SQL).

SEMANTICKEYPHRASETABLE devuelve una tabla con cero, una o más filas para las frases clave asociadas con las columnas de la tabla especificada. 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.

Nota:

En esta versión, solo las palabras individuales se indizan para la búsqueda semánticas; las frases de múltiples palabras (ngrams) no se indizan. Además, las distintas formas de la misma palabra se indizan por separado; por ejemplo, "equipo" y "equipos" se indizan por independientemente.

Para obtener información detallada sobre los parámetros requeridos por la función SEMANTICKEYPHRASETABLE y sobre la tabla de resultados que devuelve, consulte semantickeyphrasetable (Transact-SQL).

Importante

Las columnas de destino deben tener habilitada la indización de texto completo y semántica.

Ejemplo 1: búsqueda de 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.

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

La función SEMANTICKEYPHRASETABLE recupera estos resultados eficazmente mediante una búsqueda de índice en vez de un recorrido de tabla.

Ejemplo 2: Búsqueda de los principales documentos que contienen una determinada frase clave

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.

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;  
GO