Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für:SQL Server
Azure SQL-Datenbank
Azure SQL Managed Instance
SQL-Datenbank in Microsoft Fabric
Gibt Informationen über den Inhalt auf Dokumentebene von einem Volltextindex zurück, der der angegebenen Tabelle zugeordnet ist.
sys.dm_fts_index_keywords_by_document ist eine dynamische Verwaltungsfunktion.
Um höherwertige Volltext-Indexinformationen anzusehen, siehe sys.dm_fts_index_keywords.
Um Informationen zu Inhalten auf Property-Ebene im Zusammenhang mit einer Dokumenteneigenschaft einzusehen, siehe sys.dm_fts_index_keywords_by_property.
Syntax
sys.dm_fts_index_keywords_by_document
(
DB_ID('database_name')
, OBJECT_ID('table_name')
)
Argumente
DB_ID('database_name')
Ein Aufruf an die DB_ID Funktion.
DB_ID ist int. Diese Funktion akzeptiert einen Datenbanknamen und gibt die Datenbank-ID zurück, die sys.dm_fts_index_keywords_by_document zur Suche nach der angegebenen Datenbank verwendet wird. Wenn database_name nicht angegeben ist, wird die aktuelle Datenbank-ID zurückgegeben.
OBJECT_ID('table_name')
Ein Aufruf an die OBJECT_ID Funktion.
OBJECT_ID ist int. Diese Funktion akzeptiert einen Tabellennamen und gibt die Tabellen-ID der Tabelle zurück, die den Volltextindex zur Inspektion enthält.
Zurückgegebene Tabelle
| Spaltenname | Datentyp | Nullfähig | Description |
|---|---|---|---|
keyword
1 |
varbinary(128) | No | Die hexadezimale Darstellung des Schlüsselworts, das im Volltextindex gespeichert ist. |
display_term
1 |
nvarchar(4000) | No | Die Klartextform des Schlüsselworts. Dieses Format wird vom internen Format abgeleitet, das im Volltextindex gespeichert ist. |
column_id |
int | No | Die ID der Spalte für die Volltextindizierung des aktuellen Schlüsselworts. |
document_id |
bigint | Ja | Die ID des Dokuments bzw. der Zeile für die Volltextindizierung des aktuellen Ausdrucks. Diese ID entspricht dem Volltextschlüsselwert dieses Dokuments bzw. dieser Zeile. |
occurrence_count |
int | Ja | Anzahl der Vorkommen des aktuellen Schlüsselworts im Dokument oder der Zeile, die durch document_idgekennzeichnet ist. Wenn 'search_property_name' angegeben ist, occurrence_count wird nur die Anzahl der Vorkommen des aktuellen Schlüsselworts in der angegebenen Sucheigenschaft innerhalb des Dokuments oder der Zeile angezeigt. |
10xFF steht für das Spezialzeichen, das das Ende einer Datei oder eines Datensatzes anzeigt.
Bemerkungen
Die von sys.dm_fts_index_keywords_by_document ihnen zurückgegebenen Informationen sind unter anderem nützlich, um Folgendes herauszufinden:
- Die Gesamtzahl der Schlüsselwörter in einem Volltextindex
- Ob ein Schlüsselwort Teil eines bestimmten Dokuments bzw. einer Zeile ist
- Wie oft ein Schlüsselwort im gesamten Volltextindex erscheint. Das heißt,
SUM(occurrence_count) WHERE keyword = <keyword_value> - Wie oft ein Schlüsselwort in einem bestimmten Dokument bzw. in einer Zeile vorkommt
- Wie viele Schlüsselwörter ein bestimmtes Dokument bzw. eine Zeile enthält
Außerdem können Sie die von Ihnen bereitgestellten sys.dm_fts_index_keywords_by_document Informationen nutzen, um alle Schlüsselwörter eines bestimmten Dokuments oder einer Zeile abzurufen.
Wenn die Volltextschlüssel-Spalte ein ganzzahliger Datentyp ist, wie empfohlen, wird sie document_id direkt auf den Volltextschlüsselwert in der Basistabelle abgebildet.
Im Gegensatz dazu stellt die Volltext-Schlüssel-Spalte, wenn sie einen nicht-ganzzahligen Datentyp verwendet, document_id den Volltextschlüssel in der Basistabelle nicht dar. In diesem Fall müssen Sie, um die Zeile in der Basistabelle zu identifizieren, die von zurückgegeben wird dm_fts_index_keywords_by_document, diese Ansicht mit den von sp_fulltext_keymappings zurückgegebenen Ergebnissen verbinden.
Speichern Sie jedoch zuvor die Ausgabe der gespeicherten Prozedur in eine temporäre Tabelle. Dann kannst du die Spalte document_id von dm_fts_index_keywords_by_document mit der DocId Spalte verbinden, die durch dieses gespeicherte Verfahren zurückgegeben wird. Eine Zeitstempel-Spalte kann keine Werte zur Einfügungszeit empfangen, da sie automatisch von SQL Server generiert werden. Daher muss die Zeitstempelspalte in varbinary(8) -Spalten konvertiert werden. Das folgende Beispiel zeigt die erforderlichen Schritte: In diesem Beispiel ist @table_id die ID Ihrer Tabelle, database_name der Name Ihrer Datenbank und table_name der Name Ihrer Tabelle.
USE database_name;
GO
CREATE TABLE #MyTempTable
(
docid INT PRIMARY KEY,
[key] INT NOT NULL
);
DECLARE @db_id AS INT = DB_ID(N'database_name');
DECLARE @table_id AS INT = OBJECT_ID(N'table_name');
INSERT INTO #MyTempTable
EXECUTE sp_fulltext_keymappings @table_id;
SELECT *
FROM sys.dm_fts_index_keywords_by_document(@db_id, @table_id) AS kbd
INNER JOIN #MyTempTable AS tt
ON tt.[docid] = kbd.document_id;
GO
Erlaubnisse
Erfordert SELECT eine Genehmigung für die Spalten, die vom Volltextindex abgedeckt sind, sowie CREATE FULLTEXT CATALOG Berechtigungen.
Examples
A. Anzeige des Volltext-Indexinhalts auf Dokumentenebene
Im folgenden Beispiel wird der Inhalt des Volltextindexes auf Dokumentebene in der HumanResources.JobCandidate-Tabelle der AdventureWorks2025-Beispieldatenbank angezeigt.
Note
Sie können diesen Index erstellen, indem Sie das für die HumanResources.JobCandidate Tabelle bereitgestellte Beispiel in CREATE FULLTEXT INDEXausführen.
SELECT *
FROM sys.dm_fts_index_keywords_by_document(DB_ID('AdventureWorks2025'), OBJECT_ID('HumanResources.JobCandidate'));
GO