Semantische Suche (SQL Server)

Gilt für: SQL Server

Die statistische semantische Suche liefert einen tiefen Einblick in unstrukturierte Dokumente, die in SQL Server-Datenbanken gespeichert sind, indem statistisch relevante Schlüsselausdrücke extrahiert und indiziert werden. Anschließend werden diese Schlüsselausdrücke verwendet, um ähnliche oder verwandte Dokumente zu identifizieren und zu indizieren.

Was ist mit der semantischen Suche alles möglich?

Die semantische Suche basiert auf der vorhandenen Volltextsuchfunktion im SQL Server, ermöglicht jedoch neue Szenarien, die über Schlüsselwortsuchen hinausgehen. Während Sie bei der Volltextsuche Wörter in einem Dokument abfragen können, können Sie bei der semantischen Suche die Bedeutung des Dokuments abfragen. Die jetzt möglichen Lösungen umfassen die automatische Tagextraktion, die Ermittlung von verwandten Inhalten sowie die hierarchische Navigation über ähnlichen Inhalt. Sie können beispielsweise den Index von Schlüsselausdrücken abfragen, um die Taxonomie für eine Organisation oder für einen Korpus von Dokumenten zu erstellen. Oder sie können den Dokumentähnlichkeitsindex abfragen, um Lebensläufe zu identifizieren, die einer Arbeitsplatzbeschreibung entsprechen.

In den folgenden Beispielen sind die Funktionen der semantischen Suche dargestellt. Gleichzeitig veranschaulichen diese Beispiele die drei Transact-SQL-Rowsetfunktionen, die Sie zum Abfragen der semantischen Indizes und zum Abrufen der Ergebnisse als strukturierte Daten verwenden.

Suchen der Schlüsselausdrücke in einem Dokument

Die folgende Abfrage ruft die Schlüsselausdrücke ab, die im Beispieldokument identifiziert wurden. Sie präsentiert die Ergebnisse in absteigender Reihenfolge nach dem Grad der statistischen Bedeutung der einzelnen Schlüsselausdrücke.

Diese Abfrage ruft die Funktion semantickeyphrasetable auf.

SET @Title = 'Sample Document.docx'  
  
SELECT @DocID = DocumentID  
    FROM Documents  
    WHERE DocumentTitle = @Title  
  
SELECT @Title AS Title, keyphrase, score  
    FROM SEMANTICKEYPHRASETABLE(Documents, *, @DocID)  
    ORDER BY score DESC  
  

Suchen von ähnlichen und verwandten Dokumenten

Die folgende Abfrage ruft die Dokumente ab, die als dem Beispieldokument ähnlich oder damit verwandt identifiziert wurden. Sie präsentiert die Ergebnisse in absteigender Reihenfolge nach dem Grad der Ähnlichkeit von zwei Dokumenten.

Diese Abfrage ruft die Funktion semanticsimilaritytable auf.

SET @Title = 'Sample Document.docx'  
  
SELECT @DocID = DocumentID  
    FROM Documents  
    WHERE DocumentTitle = @Title  
  
SELECT @Title AS SourceTitle, DocumentTitle AS MatchedTitle,  
        DocumentID, score  
    FROM SEMANTICSIMILARITYTABLE(Documents, *, @DocID)  
    INNER JOIN Documents ON DocumentID = matched_document_key  
    ORDER BY score DESC  
  

Suchen der Schlüsselausdrücke, die Dokumente ähnlich oder verwandt machen.

Die folgende Abfrage ruft die Schlüsselausdrücke ab, die zwei Beispieldokumente ähnlich oder verwandt machen. Sie präsentiert die Ergebnisse in absteigender Reihenfolge nach dem Grad, der die Gewichtung der einzelnen Schlüsselausdrücke angibt.

Diese Abfrage ruft die Funktion semanticsimilaritydetailstable auf.

SET @SourceTitle = 'first.docx'  
SET @MatchedTitle = 'second.docx'  
  
SELECT @SourceDocID = DocumentID FROM Documents WHERE DocumentTitle = @SourceTitle  
SELECT @MatchedDocID = DocumentID FROM Documents WHERE DocumentTitle = @MatchedTitle  
  
SELECT @SourceTitle AS SourceTitle, @MatchedTitle AS MatchedTitle, keyphrase, score  
    FROM semanticsimilaritydetailstable(Documents, DocumentContent,  
        @SourceDocID, DocumentContent, @MatchedDocID)  
    ORDER BY score DESC  
  

Speichern von Dokumenten in SQL Server

Bevor Sie Dokumente mit der semantischen Suche indizieren können, müssen Sie die Dokumente in einer SQL Server-Datenbank speichern.

Die FileTable-Funktion in SQL Server macht unstrukturierte Dateien und Dokument zu so genannten „First Class Citizens“ (FCCs) der relationalen Datenbank. Folglich können Datenbankentwickler Dokumente zusammen mit strukturierten Daten in Transact-SQL-basierten Vorgängen bearbeiten.

Weitere Informationen zu der FileTable-Funktion finden Sie unter FileTables (SQL Server). Informationen zur FILESTREAM-Funktion, die eine andere Option zum Speichern von Dokumenten in der Datenbank ist, finden Sie unter FILESTREAM (SQL Server).

Zugehörige Aufgaben

Installieren und Konfigurieren der semantischen Suche
Beschreibt die erforderlichen Komponenten für die statistische semantische Suche und wie diese Komponenten installiert oder überprüft werden.

Aktivieren der semantischen Suche in Tabellen und Spalten
Beschreibt, wie die statistische semantische Indizierung für ausgewählte Spalten, die Dokumente oder Text enthalten, aktiviert bzw. deaktiviert wird.

Suchen von Schlüsselausdrücken in Dokumenten mit der semantischen Suche
Beschreibt, wie Schlüsselausdrücke in Dokumenten oder Textspalten gesucht werden, die für die statistische semantische Indizierung konfiguriert sind.

Suchen von ähnlichen und verwandten Dokumenten mit semantischer Suche
Beschreibt, wie ähnliche oder verwandte Dokumente oder Textwerte sowie Informationen zur Ähnlichkeit oder Verwandtschaft über Spalten gesucht werden, die für die statistische semantische Indizierung konfiguriert sind.

Verwalten und Überwachen der semantischen Suche
Beschreibt den Prozess der semantischen Indizierung sowie die Tasks im Zusammenhang mit der Überwachung und Verwaltung der Indizes.

Zugehöriger Inhalt

Semantische Such-DDL, Funktionen, gespeicherte Prozeduren und Sichten
Führt die zur Unterstützung der semantischen Suche hinzugefügten oder geänderten Transact-SQL-Anweisungen und SQL Server-Datenbankobjekte auf.