Partager via


semanticsimilaritytable (Transact-SQL)

Retourne une table de zéro, une ou plusieurs lignes pour les documents dont le contenu dans la colonne spécifiée est sémantiquement similaire à un 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.

Icône Lien de rubrique Conventions de la syntaxe Transact-SQL

Syntaxe

SEMANTICSIMILARITYTABLE
    (
    table,
    { column | (column_list) | * },
    source_key
    )

Arguments

  • table
    Nom d'une table dont l'indexation sémantique et de texte intégral est activée.

    Ce nom peut être en une à quatre parties, mais un nom de serveur distant n'est pas autorisé.

  • column
    Nom de la colonne indexée pour laquelle les résultats doivent être retournés L'indexation sémantique doit être activée pour la colonne.

  • column_list
    Indique plusieurs colonnes, séparées par une virgule et placées entre parenthèses. L'indexation sémantique doit être activée pour toutes les colonnes.

  • *
    Indique que toutes les colonnes pour lesquelles l'indexation sémantique est activée sont incluses.

  • source_key
    Clé unique de la ligne, pour demander des résultats d'une ligne spécifique.

    La clé est convertie implicitement en type de clé unique de recherche en texte intégral dans la table source, dans la mesure du possible. La clé peut être spécifiée en tant que constante ou variable, mais il ne peut pas s'agir d'une expression ni du résultat d'une sous-requête scalaire.

Table retournée

Le tableau suivant décrit les informations sur les documents similaires ou associés renvoyés par cette fonction d'ensemble de lignes.

Les documents correspondants sont retournés colonne par colonne si les résultats sont demandés pour plusieurs colonnes.

Column_name

Type

Description

source_column_id

int

ID de la colonne depuis laquelle un document source a été utilisé pour rechercher des documents similaires.

Consultez les fonctions COL_NAME et COLUMNPROPERTY pour plus d'informations sur la récupération d'un nom de colonne à partir de column_id et inversement.

matched_column_id

int

ID de la colonne depuis laquelle un document similaire a été trouvé.

Consultez les fonctions COL_NAME et COLUMNPROPERTY pour plus d'informations sur la récupération d'un nom de colonne à partir de column_id et inversement.

matched_document_key

*

Cette clé correspond au type de la clé unique dans la table source.

Valeur de la clé unique de l'extraction sémantique et de recherche en texte intégral du document ou de la ligne considéré(e) comme similaire au document spécifié dans la requête.

score

REAL

Valeur relative de ressemblance pour ce document dans sa relation à tous les autres documents similaires.

La valeur est une valeur décimale fractionnaire dans la plage de [0.0, 1.0] dans laquelle un score élevé représente une correspondance plus proche, 1.0 étant un score parfait.

Remarques d'ordre général

Pour plus d'informations, consultez Rechercher des documents similaires ou connexes avec la recherche sémantique.

Limitations et restrictions

Vous ne pouvez pas rechercher des documents similaires dans plusieurs colonnes. La fonction SEMANTICSIMILARITYTABLE récupère uniquement des documents similaires provenant de la même colonne que la colonne source, identifiée par l'argument source_key.

Métadonnées

Pour obtenir des informations et connaître l'état relatif à l'extraction de ressemblance sémantique et au remplissage, interrogez les vues de gestion dynamique suivantes :

Sécurité

Autorisations

Requiert des autorisations SELECT sur la table de base sur laquelle les index sémantiques et de recherche en texte intégral ont été créés.

Exemples

L'exemple suivant récupère les 10 premiers candidats similaires à un candidat spécifié 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
FROMSEMANTICSIMILARITYTABLE
    (
    HumanResources.JobCandidate,
    Resume,
    @CandidateID
    ) AS KEY_TBL
ORDER BY KEY_TBL.score DESC;