Freigeben über


Semantische Suche (SQL Server)

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

Sie fragen diese semantischen Indizes mit drei Transact-SQL-Rowsetfunktionen ab, um die Ergebnisse als strukturierte Daten abzurufen.

Was ist mit der semantischen Suche alles möglich?

Die semantische Suche baut auf der vorhandenen Volltextsuche in SQL Server auf, ermöglicht aber neue Szenarien, die über Schlüsselwort (keyword) Suchen 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.

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 (Transact-SQL) 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 oder 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 (Transact-SQL) 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 (Transact-SQL) 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 2014 macht unstrukturierte Dateien und Dokumente zu erstklassigen Bürgern der relationalen Datenbank. Folglich können Datenbankentwickler Dokumente zusammen mit strukturierten Daten in Transact-SQL-basierten Vorgängen bearbeiten.

Weitere Informationen zum FileTable-Feature finden Sie unter FileTables (SQL Server). Informationen zum FILESTREAM-Feature, das eine weitere Option zum Speichern von Dokumenten in der Datenbank ist, finden Sie unter FILESTREAM (SQL Server).

Related Tasks

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.

Verwandte Inhalte

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.