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

S’applique à :SQL Server

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

Rechercher les expressions clés dans les 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 sémantique de la fonction transact-SQL (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.

Note

Dans cette version, seuls les mots isolés sont indexés pour la recherche sémantique ; les expressions constituées de 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 des résultats qu’il 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 supérieures 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 principaux documents 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