Trovare frasi chiave nei documenti tramite la ricerca semantica
Si applica a: SQL Server
Viene descritto come individuare le frasi chiave nei documenti o nelle colonne di testo configurati per l'indicizzazione semantica statistica.
Individua le frasi chiave nei documenti con SEMANTICKEYPHRASETABLE
Per identificare le frasi chiave in documenti specifici o identificare documenti che contengono frasi chiave specifiche, esegui una query sulla funzione semantickeyphrasetable (Transact-SQL).
SEMANTICKEYPHRASETABLE restituisce una tabella con zero, una o più righe per le frasi chiave associate alle colonne nella tabella specificata. A questa funzione per i set di righe è possibile fare riferimento nella clausola FROM di un'istruzione SELECT come se fosse un normale nome di tabella.
Nota
In questa versione solo singole parole vengono indicizzate per la ricerca semantica. Le frasi composte da più parole (n-grammi) non vengono indicizzate. Inoltre, varie forme della stessa parola vengono indicizzate separatamente; ad esempio "calcolo" e "calcoli" vengono indicizzati separatamente.
Per informazioni dettagliate sui parametri necessari per la funzione SEMANTICKEYPHRASETABLE e sulla tabella dei risultati restituita, vedi semantickeyphrasetable (Transact-SQL).
Importante
Per le colonne di destinazione deve essere abilitata l'indicizzazione full-text e semantica.
Esempio 1: trovare le principali frasi chiave in un documento specifico
L'esempio seguente recupera le prime 10 frasi chiave dal documento specificato tramite la variabile @DocumentId nella colonna Document della tabella Production.Document del database di esempio AdventureWorks. La variabile @DocumentId rappresenta un valore della colonna chiave dell'indice full-text.
SELECT TOP(10) KEYP_TBL.keyphrase
FROM SEMANTICKEYPHRASETABLE
(
Production.Document,
Document,
@DocumentId
) AS KEYP_TBL
ORDER BY KEYP_TBL.score DESC;
GO
La funzione SEMANTICKEYPHRASETABLE recupera in modo efficiente questi risultati tramite una ricerca nell'indice anziché un'analisi della tabella.
Esempio 2: trovare i documenti principali che contengono una frase chiave specifica
Nell'esempio seguente vengono recuperati i primi 25 documenti che contengono la frase chiave "Bracket" dalla colonna Documento della tabella Production.Document del database di esempio 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