Freigeben über


semanticsimilaritytable (Transact-SQL)

Gibt eine Tabelle mit keiner, einer oder mehreren Zeilen für Dokumente zurück, deren Inhalt in den angegebenen Spalten einem angegebenen Dokument semantisch ähnlich ist.

Auf diese Rowsetfunktion kann in der FROM-Klausel einer SELECT-Anweisung wie auf einen regulären Tabellennamen verwiesen werden.

Themenlink (Symbol) Transact-SQL-Syntaxkonventionen

Syntax

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

Argumente

  • table
    Ist der Name einer Tabelle, für die die Volltext- und die semantische Indizierung aktiviert ist.

    Dieser Name kann einteilig sein oder aus bis zu vier Teilen bestehen, aber ein Remoteservername ist nicht zugelassen.

  • column
    Name der indizierten Spalte, für die Ergebnisse zurückgegeben werden sollen. Für die Spalte muss die semantische Indizierung aktiviert sein.

  • column_list
    Gibt mehrere durch Trennzeichen getrennte Spalten an, die in Klammern eingeschlossen sind. Für alle Spalten muss die semantische Indizierung aktiviert sein.

  • *
    Gibt an, dass alle Spalten eingeschlossen werden, für die die semantische Indizierung aktiviert ist.

  • source_key
    Eindeutiger Schlüssel für die Zeile, um Ergebnisse für eine bestimmte Zeile anzufordern.

    Der Schlüssel wird nach Möglichkeit immer implizit in den Typ des eindeutigen Volltextschlüssels in der Quelltabelle konvertiert. Der Schlüssel kann als Konstante oder Variable angegeben werden. Er kann jedoch kein Ausdruck oder das Ergebnis einer skalaren Unterabfrage sein.

Zurückgegebene Tabelle

Die folgende Tabelle enthält Informationen zu ähnlichen oder verwandten Dokumenten, die diese Rowsetfunktion zurückgibt.

Passende Dokumente werden auf der basis einzelner Spalten zurückgegeben, wenn Ergebnisse aus mehr als einer Spalte angefordert werden.

Column_name

Typ

Beschreibung

source_column_id

int

ID der Spalte, aus der ein Quelldokument zum Suchen von ähnlichen Dokumenten verwendet wurde.

Im Abschnitt über die COL_NAME-Funktion und COLUMNPROPERTY-Funktion finden Sie ausführliche Informationen zum Abrufen des Spaltennamens aus "column_id" und umgekehrt.

matched_column_id

int

ID der Spalte, in der ein ähnliches Dokument gefunden wurde.

Im Abschnitt über die COL_NAME-Funktion und COLUMNPROPERTY-Funktion finden Sie ausführliche Informationen zum Abrufen des Spaltennamens aus "column_id" und umgekehrt.

matched_document_key

*

Dieser Schlüssel stimmt mit dem Typ des eindeutigen Schlüssels in der Quelltabelle überein.

Eindeutiger Schlüsselwert für die Volltext- und semantische Extraktion des Dokuments oder der Zeile, das bzw. die Ähnlichkeit mit dem angegebenen Dokument in der Abfrage aufweist.

score

REAL

Ein relativer Ähnlichkeitswert für dieses Dokument bezogen auf alle anderen ähnlichen Dokumente.

Der Wert ist eine Dezimalzahl im Bereich [0,0; 1,0], wobei ein höheres Ergebnis eine höhere Übereinstimmung und 1,0 ein perfektes Ergebnis darstellt.

Allgemeine Hinweise

Weitere Informationen finden Sie unter Suchen von ähnlichen und verwandten Dokumenten mit semantischer Suche.

Einschränkungen

Ähnliche Dokumente können nicht über Spalten hinweg abgefragt werden. Die SEMANTICSIMILARITYTABLE-Funktion ruft nur ähnliche Dokumente aus derselben Spalte wie die Quellspalte ab, die durch das source_key-Argument identifiziert wird.

Metadaten

Führen Sie eine Abfrage der folgenden dynamischen Verwaltungssichten durch, um Informationen, einschließlich Statusinformationen, zur semantischen Ähnlichkeitsextraktion und Auffüllung zu erhalten:

Sicherheit

Berechtigungen

Erfordert SELECT-Berechtigungen für die Basistabelle, für die der Volltextindex und der semantische Index erstellt wurden.

Beispiele

Im folgenden Beispiel werden die ersten 10 Kandidaten abgerufen, die einem angegebenen Kandidaten aus der HumanResources.JobCandidate-Tabelle in der AdventureWorks2012-Beispieldatenbank ähneln.

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;