Rechercher des expressions clés dans les documents avec la recherche sémantique

Explique comment rechercher des expressions clés dans des documents ou des colonnes de texte configurés pour l'indexation sémantique statistique.

Recherche d'expressions clés dans des documents

Procédure : rechercher des expressions clés dans des documents avec SEMANTICKEYPHRASETABLE

Pour identifier les expressions clés dans des documents spécifiques ou pour identifier les documents qui contiennent des expressions clés spécifiques, interrogez la fonction semantickeyphrasetable (Transact-SQL).

SEMANTICKEYPHRASETABLE retourne une table avec zéro, une ou plusieurs lignes pour les expressions clés associées aux colonnes de la table spécifiée. Cette fonction d'ensemble de lignes peut uniquement être référencée dans la clause FROM d'une instruction SELECT comme tout nom de table standard.

Notes

Dans SQL Server 2014, seuls des mots uniques sont indexés pour la recherche sémantique ; les expressions à plusieurs mots (ngrams) ne sont pas indexées. En outre, des formes différentes du même mot sont indexées séparément ; par exemple, « ordinateur » et « ordinateurs » sont indexés séparément.

Pour plus d’informations sur les paramètres requis par la fonction SEMANTICKEYPHRASETABLE et sur la table de résultats qu’elle retourne, consultez semantickeyphrasetable (Transact-SQL).

Important

L'indexation sémantique et de texte intégral doit être activée pour les colonnes que vous ciblez.

Exemple 1 : rechercher les expressions clés de niveau supérieur dans un document spécifique

L’exemple suivant extrait les 10 expressions clés de niveau supérieur du document spécifié par la variable @DocumentId dans la colonne Document de la table Production.Document de l’exemple de base de données AdventureWorks. La variable @DocumentId représente une valeur de la colonne clé de l’index de recherche en texte intégral.

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

La fonction SEMANTICKEYPHRASETABLE récupère efficacement ces résultats en utilisant une recherche d'index au lieu d'une analyse de table.

Exemple 2 : rechercher les documents de niveau supérieur qui contiennent une expression clé spécifique

L’exemple suivant récupère les 25 premiers documents qui contiennent l’expression clé « bracket » dans la colonne Document de la table Production.Document de l’exemple de base de données 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