Compartir a través de


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

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

Cómo: 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 SQL Server 2014, solo se indexan palabras únicas para la búsqueda semántica; no se indexan frases de varias palabras (ngramas). 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: 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.

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: 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.

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