Trovare frasi chiave nei documenti mediante ricerca semantica
Viene descritto come individuare le frasi chiave nei documenti o nelle colonne di testo configurati per l'indicizzazione semantica statistica.
Trovare frasi chiave nei documenti
Procedura: individuare le frasi chiave nei documenti con SEMANTICKEYPHRASETABLE
Per identificare le frasi chiave in documenti specifici o per identificare documenti contenenti frasi chiave specifiche, eseguire 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 SQL Server 2014 vengono indicizzate solo singole parole per la ricerca semantica; le frasi a più parole (ngram) 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 richiesti dalla funzione SEMANTICKEYPHRASETABLE e sulla tabella dei risultati restituiti, vedere 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