sys.dm_fts_index_keywords_by_document (Transact-SQL)sys.dm_fts_index_keywords_by_document (Transact-SQL)

Gilt für: JaSQL ServerNeinAzure SQL-DatenbankNeinAzure Synapse Analytics (SQL DW) JaParallel Data Warehouse APPLIES TO: yesSQL Server noAzure SQL Database noAzure Synapse Analytics (SQL DW) yesParallel Data Warehouse

Gibt Informationen über den Inhalt auf Dokumentebene von einem Volltextindex zurück, der der angegebenen Tabelle zugeordnet ist.Returns information about the document-level content of a full-text index associated with the specified table.

sys.dm_fts_index_keywords_by_document ist eine dynamische Verwaltungsfunktion.sys.dm_fts_index_keywords_by_document is a dynamic management function.

So zeigen Sie Informationen zu einem Volltextindex auf höherer Ebene anTo view higher-level full-text index information

So zeigen Sie Informationen zu Inhalten auf Eigenschaftenebene an, die sich auf eine Dokumenteigenschaft beziehenTo view information about property-level content related to a document property

SyntaxSyntax

  
sys.dm_fts_index_keywords_by_document  
(   
    DB_ID('database_name'),     OBJECT_ID('table_name')   
)  

ArgumenteArguments

DB_ID ('database_name')db_id('database_name')
Ein Aufrufder DB_ID () -Funktion.A call to the DB_ID() function. Diese Funktion akzeptiert einen Datenbanknamen und gibt die Datenbank-ID zurück, die von sys.dm_fts_index_keywords_by_document für die Suche nach der angegebenen Datenbank verwendet wird.This function accepts a database name and returns the database ID, which sys.dm_fts_index_keywords_by_document uses to find the specified database. Wenn database_name nicht angegeben ist, wird die aktuelle Datenbank-ID zurückgegeben.If database_name is omitted, the current database ID is returned.

object_id ('table_name')object_id('table_name')
Ein Aufrufder object_id () -Funktion.A call to the OBJECT_ID() function. Diese Funktion akzeptiert einen Tabellennamen und gibt die Tabellen-ID der Tabelle zurück, die den zu überprüfenden Volltextindex enthält.This function accepts a table name and returns the table ID of the table containing the full-text index to inspect.

Zurückgegebene TabelleTable Returned

ColumnColumn DatentypData type BESCHREIBUNGDescription
Schlüsselwort (keyword)keyword nvarchar(4000)nvarchar(4000) Die hexadezimale Darstellung des Schlüsselworts, das im Volltextindex gespeichert ist.The hexadecimal representation of the keyword that is stored inside the full-text index.

Hinweis: OxFF stellt das Sonderzeichen dar, das das Ende einer Datei oder eines Datasets angibt.Note: OxFF represents the special character that indicates the end of a file or dataset.
display_termdisplay_term nvarchar(4000)nvarchar(4000) Die Klartextform des Schlüsselworts.The human-readable format of the keyword. Dieses Format wird vom internen Format abgeleitet, das im Volltextindex gespeichert ist.This format is derived from the internal format that is stored in the full-text index.

Hinweis: OxFF stellt das Sonderzeichen dar, das das Ende einer Datei oder eines Datasets angibt.Note: OxFF represents the special character that indicates the end of a file or dataset.
column_idcolumn_id intint Die ID der Spalte für die Volltextindizierung des aktuellen Schlüsselworts.ID of the column from which the current keyword was full-text indexed.
document_iddocument_id intint Die ID des Dokuments bzw. der Zeile für die Volltextindizierung des aktuellen Ausdrucks.ID of the document or row from which the current term was full-text indexed. Diese ID entspricht dem Volltextschlüsselwert dieses Dokuments bzw. dieser Zeile.This ID corresponds to the full-text key value of that document or row.
occurrence_countoccurrence_count intint Anzahl der Vorkommen des aktuellen Schlüssel Worts in dem Dokument oder der Zeile, das durch document_idangegeben wird.Number of occurrences of the current keyword in the document or row that is indicated by document_id. Wenn "search_property_name" angegeben wird, zeigt occurrence_count nur die Anzahl der Vorkommen des aktuellen Schlüssel Worts in der angegebenen Such Eigenschaft innerhalb des Dokuments oder der Zeile an.When 'search_property_name' is specified, occurrence_count displays only the number of occurrences of the current keyword in the specified search property within the document or row.

BemerkungenRemarks

Die von sys.dm_fts_index_keywords_by_document zurückgegebenen Informationen dienen u. a. zum Abrufen der folgenden Ergebnisse:The information returned by sys.dm_fts_index_keywords_by_document is useful for finding out the following, among other things:

  • Die Gesamtzahl der Schlüsselwörter in einem VolltextindexThe total number of keywords that a full-text index contains.

  • Ob ein Schlüsselwort Teil eines bestimmten Dokuments bzw. einer Zeile istWhether a keyword is part of a given document or row.

  • Wie oft ein Schlüsselwort im gesamten Volltextindex vorkommt, d. h.:How many times a keyword appears in the whole full-text index; that is:

    (Sum(occurrence_count) WHERE- Schlüsselwort=keyword_value )(SUM(occurrence_count) WHERE keyword=keyword_value )

  • Wie oft ein Schlüsselwort in einem bestimmten Dokument bzw. in einer Zeile vorkommtHow many times a keyword appears in a given document or row.

  • Wie viele Schlüsselwörter ein bestimmtes Dokument bzw. eine Zeile enthältHow many keywords a given document or row contains.

Darüber hinaus können Sie anhand der von sys.dm_fts_index_keywords_by_document zurückgegebenen Informationen alle Schlüsselwörter eines gegebenen Dokuments oder einer gegebenen Zeile abrufen.Also, you can also use the information provided by sys.dm_fts_index_keywords_by_document to retrieve all the keywords belonging to a given document or row.

Wenn die Volltextschlüsselspalte wie empfohlen mit dem integer-Datentyp definiert ist, kann die document_id direkt dem Volltextschlüsselwert in der Basistabelle zugeordnet werden.When the full-text key column is an integer data type, as recommended, the document_id maps directly to the full-text key value in the base table.

Wenn als Datentyp für die Volltextschlüsselspalte jedoch ein anderer Typ als Integer festgelegt ist, stellt document_id nicht den Volltextschlüsselwert in der Basistabelle dar.In contrast, when the full-text key column uses a non-integer data type, document_id does not represent the full-text key in the base table. Um in diesem Fall die Zeile in der Basistabelle zu identifizieren, die von dm_fts_index_keywords_by_document zurückgegeben wird, müssen Sie diese Ansicht mit den von sp_fulltext_keymappingszurückgegebenen Ergebnissen verknüpfen.In this case, to identify the row in the base table that is returned by dm_fts_index_keywords_by_document, you need to join this view with the results returned by sp_fulltext_keymappings. Speichern Sie jedoch zuvor die Ausgabe der gespeicherten Prozedur in eine temporäre Tabelle.Before you can join them, you must store the output of the stored procedure in a temp table. Anschließend können Sie die Spalte document_id von dm_fts_index_keywords_by_document mit der von der gespeicherten Prozedur zurückgegebenen Spalte DOCID verknüpfen.Then you can join the document_id column of dm_fts_index_keywords_by_document with the DocId column that is returned by this stored procedure. Beachten Sie, dass eine Zeitstempel -Spalte keine Werte zum Zeitpunkt des Einfügens empfangen kann, SQL ServerSQL Serverda Sie von automatisch generiert werden.Note that a timestamp column cannot receive values at insert time, because they are auto-generated by SQL ServerSQL Server. Daher muss die Zeitstempel -Spalte in varbinary (8) -Spalten konvertiert werden.Therefore, the timestamp column must be converted to varbinary(8) columns. Das folgende Beispiel zeigt die erforderlichen Schritte:The following example shows these steps. In diesem Beispiel ist table_id die ID der Tabelle, database_name der Name der Datenbank und table_name der Name der Tabelle ist.In this example, table_id is the ID of your table, database_name is the name of your database, and table_name is the name of your table.

USE database_name;  
GO  
CREATE TABLE #MyTempTable   
   (  
      docid INT PRIMARY KEY ,  
      [key] INT NOT NULL  
   );  
DECLARE @db_id int = db_id(N'database_name');  
DECLARE @table_id int = OBJECT_ID(N'table_name');  
INSERT INTO #MyTempTable EXEC sp_fulltext_keymappings @table_id;  
SELECT * FROM sys.dm_fts_index_keywords_by_document   
   ( @db_id, @table_id ) kbd  
   INNER JOIN #MyTempTable tt ON tt.[docid]=kbd.document_id;  
GO  
  

BerechtigungenPermissions

Erfordert CREATE FULLTEXT CATALOG-Berechtigungen und die SELECT-Berechtigung für die vom Volltextindex abgedeckten Spalten.Requires SELECT permission on the columns covered by the full-text index and CREATE FULLTEXT CATALOG permissions.

BeispieleExamples

A.A. Anzeigen des Inhalts eines Volltextindexes auf DokumentebeneDisplaying full-text index content at the document level

Im folgenden Beispiel wird der Inhalt des Volltextindexes auf Dokumentebene in der HumanResources.JobCandidate-Tabelle der AdventureWorks2012-Beispieldatenbank angezeigt.The following example displays the content of the full-text index at the document level in the HumanResources.JobCandidate table of the AdventureWorks2012 sample database.

Hinweis

Sie können diesen Index erstellen, indem Sie das Beispiel ausführen, HumanResources.JobCandidate das für die-Tabelle in CREATE FULLTEXT Index (Transact-SQL-)bereitgestellt wird.You can create this index by executing the example provided for the HumanResources.JobCandidate table in CREATE FULLTEXT INDEX (Transact-SQL).

SELECT * FROM sys.dm_fts_index_keywords_by_document(db_id('AdventureWorks'),   
object_id('HumanResources.JobCandidate'));  
GO  

Weitere InformationenSee Also

Dynamische Verwaltungs Sichten und Funktionen für die voll Text Suche und die semantische Suche (Transact-SQL-) Full-Text Search and Semantic Search Dynamic Management Views and Functions (Transact-SQL)
Voll Text Suche Full-Text Search
sys. dm_fts_index_keywords (Transact-SQL-) sys.dm_fts_index_keywords (Transact-SQL)
sys.dm_fts_index_keywords_by_property (Transact-SQL) sys.dm_fts_index_keywords_by_property (Transact-SQL)
sp_fulltext_keymappings (Transact-SQL-) sp_fulltext_keymappings (Transact-SQL)
Verbessern der Leistung von VolltextindizesImprove the Performance of Full-Text Indexes