Rechercher des documents similaires ou connexes avec la recherche sémantique
Explique comment rechercher des valeurs textuelles ou des documents similaires ou connexes et donne des informations sur leur similitude, dans des colonnes configurées pour l'indexation sémantique statistique.
Dans cette rubrique
Je souhaite…
Rechercher des documents similaires ou connexes
Procédure : rechercher des documents similaires ou connexes avec SEMANTICSIMILARITYTABLE
Exemple : rechercher les documents de niveau supérieur qui sont similaires à un autre document
Rechercher des informations sur la manière dont des documents sont similaires ou connexes
Procédure : rechercher des informations sur la manière dont des documents sont similaires ou connexes avec SEMANTICSIMILARITYDETAILSTABLE
Exemple : rechercher les expressions de niveau supérieur qui sont similaires entre des documents
Recherche de documents similaires ou connexes
Procédure : rechercher des documents similaires ou connexes avec SEMANTICSIMILARITYTABLE
Pour identifier des documents similaires ou connexes dans une colonne spécifique, interrogez la fonction semanticsimilaritytable (Transact-SQL).
SEMANTICSIMILARITYTABLE retourne une table de zéro, une ou plusieurs lignes pour les colonnes dont le contenu dans la colonne spécifiée est sémantiquement similaire au document spécifié. Cette fonction d'ensemble de lignes peut être référencée dans la clause FROM d'une instruction SELECT comme un nom de table classique.
Vous ne pouvez pas rechercher des documents similaires dans plusieurs colonnes. La fonction SEMANTICSIMILARITYTABLE récupère uniquement des résultats provenant de la même colonne que la colonne source, identifiée par l'argument source_key.
Pour plus d'informations sur les paramètres requis par la fonction SEMANTICSIMILARITYTABLE, ainsi que sur la table de résultats qu'elle retourne, consultez semanticsimilaritytable (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 : rechercher les documents de niveau supérieur qui sont similaires à un autre document
L'exemple suivant récupère les 10 premiers candidats similaires au candidat spécifié par @CandidateID dans la table HumanResources.JobCandidate de l'exemple de base de données AdventureWorks2012.
SELECT TOP(10) KEY_TBL.matched_document_key AS Candidate_ID
FROM SEMANTICSIMILARITYTABLE
(
HumanResources.JobCandidate,
Resume,
@CandidateID
) AS KEY_TBL
ORDER BY KEY_TBL.score DESC;
GO
[Haut de la page]
Recherche d'informations sur la manière dont des documents sont similaires ou connexes
Procédure : rechercher des informations sur la manière dont des documents sont similaires ou connexes avec SEMANTICSIMILARITYDETAILSTABLE
Pour obtenir des informations sur les expressions clés qui rendent des documents similaires ou connexes, vous pouvez interroger la fonction semanticsimilaritydetailstable (Transact-SQL).
SEMANTICSIMILARITYDETAILSTABLE retourne une table de zéro, une ou plusieurs lignes d'expressions clés communes à travers deux documents (un document source et un document mis en correspondance) dont le contenu est similaire sémantiquement. Cette fonction d'ensemble de lignes peut être référencée dans la clause FROM d'une instruction SELECT comme un nom de table classique.
Pour plus d'informations sur les paramètres requis par la fonction SEMANTICSIMILARITYDETAILSTABLE, ainsi que sur la table de résultats qu'elle retourne, consultez semanticsimilaritydetailstable (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 : rechercher les expressions de niveau supérieur qui sont similaires entre des documents
L'exemple suivant récupère les 5 expressions clés qui ont le score de similarité le plus élevé parmi les candidats spécifiés dans la table HumanResources.JobCandidate de l'exemple de base de données AdventureWorks2012.
SELECT TOP(5) KEY_TBL.keyphrase, KEY_TBL.score
FROM SEMANTICSIMILARITYDETAILSTABLE
(
HumanResources.JobCandidate,
Resume, @CandidateID,
Resume, @MatchedID
) AS KEY_TBL
ORDER BY KEY_TBL.score DESC;
GO
[Haut de la page]