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.
Dans cette rubrique
Je souhaite…
Rechercher des expressions clés dans des documents
Procédure : rechercher des expressions clés dans des documents avec SEMANTICKEYPHRASETABLE
Exemple : rechercher les expressions clés de niveau supérieur dans un document spécifique
Exemple : rechercher les documents de niveau supérieur qui contiennent une expression clé spécifique
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 des documents qui contiennent des expressions clés spécifiques, vous pouvez interroger 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.
[!REMARQUE]
Dans SQL Server 2012, 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, ainsi que sur la table de résultats qu'elle renvoie, consultez semantickeyphrasetable (Transact-SQL).
Important
L'indexation sémantique et de texte intégral doit être activée pour les colonnes que vous ciblez.
[Haut de la page]
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.
[Haut de la page]
Exemple 2 : rechercher les documents de niveau supérieur qui contiennent une expression clé spécifique
L'exemple suivant extrait les 25 documents de niveau supérieur 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
[Haut de la page]