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