Partager via


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

Décrit comment rechercher les expressions clés dans des documents ou des colonnes de texte configurées pour l’indexation sémantique statistique.

Recherche d’expressions clés dans des documents

Guide pratique pour 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 fonction semantickeyphrasetable (Transact-SQL).

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

Remarque

Dans SQL Server 2014, seuls des mots uniques sont indexés pour la recherche sémantique ; Les expressions à mots multiples (ngrams) ne sont pas indexées. En outre, différentes formes 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

Les colonnes que vous ciblez doivent avoir activé l’indexation sémantique et de texte intégral.

Exemple 1 : Rechercher les expressions clés supérieures dans un document spécifique

L’exemple suivant récupère les 10 premières expressions clés du document spécifié par la variable dans la @DocumentId colonne Document de la table Production.Document de l’exemple de base de données AdventureWorks. La @DocumentId variable 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 ces résultats efficacement à l’aide d’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 » depuis 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