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

Se aplica a:Applies to: síSQL ServerSQL Server (todas las versiones admitidas) yesSQL ServerSQL Server (all supported versions) SíInstancia administrada de Azure SQLAzure SQL Managed InstanceYesInstancia administrada de Azure SQLAzure SQL Managed Instance síAlmacenamiento de datos paralelosParallel Data WarehouseyesAlmacenamiento de datos paralelosParallel Data WarehouseSe aplica a:Applies to: síSQL ServerSQL Server (todas las versiones admitidas) yesSQL ServerSQL Server (all supported versions) SíInstancia administrada de Azure SQLAzure SQL Managed InstanceYesInstancia administrada de Azure SQLAzure SQL Managed Instance síAlmacenamiento de datos paralelosParallel Data WarehouseyesAlmacenamiento de datos paralelosParallel Data Warehouse

Devuelve información sobre el contenido de nivel de documento de un índice de texto completo asociado a la tabla especificada.Returns information about the document-level content of a full-text index associated with the specified table.

sys.dm_fts_index_keywords_by_document es una función de administración dinámica.sys.dm_fts_index_keywords_by_document is a dynamic management function.

Para ver información de nivel superior sobre un índice de texto completoTo view higher-level full-text index information

Para ver información sobre el contenido de nivel de propiedad relacionado con una propiedad de documentoTo view information about property-level content related to a document property

SintaxisSyntax

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

ArgumentosArguments

db_id ('database_name')db_id('database_name')
Una llamada a la función DB_ID () .A call to the DB_ID() function. Esta función acepta un nombre de base de datos y devuelve el identificador de base de datos, que sys.dm_fts_index_keywords_by_document utiliza para buscar la base de datos especificada.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. Si el parámetro database_name se omite, se devuelve el identificador de base de datos actual.If database_name is omitted, the current database ID is returned.

object_id ('TABLE_NAME')object_id('table_name')
Una llamada a la función OBJECT_ID () .A call to the OBJECT_ID() function. Esta función acepta un nombre de tabla y devuelve el identificador de la tabla que contiene el índice de texto completo que se va a inspeccionar.This function accepts a table name and returns the table ID of the table containing the full-text index to inspect.

Tabla devueltaTable Returned

ColumnaColumn Tipo de datosData type DescripciónDescription
palabra clavekeyword nvarchar(4000)nvarchar(4000) Representación hexadecimal de la palabra clave que se almacena dentro del índice de texto completo.The hexadecimal representation of the keyword that is stored inside the full-text index.

Nota: OxFF representa el carácter especial que indica el final de un archivo o conjunto de archivos.Note: OxFF represents the special character that indicates the end of a file or dataset.
display_termdisplay_term nvarchar(4000)nvarchar(4000) Formato legible de la palabra clave.The human-readable format of the keyword. Este formato se deriva del formato interno que se almacena en el índice de texto completo.This format is derived from the internal format that is stored in the full-text index.

Nota: OxFF representa el carácter especial que indica el final de un archivo o conjunto de archivos.Note: OxFF represents the special character that indicates the end of a file or dataset.
column_idcolumn_id intint Identificador de la columna en que la palabra clave actual forma parte del índice de texto completo.ID of the column from which the current keyword was full-text indexed.
document_iddocument_id intint Identificador del documento o fila en que el término actual se indizó con texto completo.ID of the document or row from which the current term was full-text indexed. Este identificador corresponde al valor de clave de texto completo de ese documento o fila.This ID corresponds to the full-text key value of that document or row.
occurrence_countoccurrence_count intint Número de repeticiones de la palabra clave actual en el documento o la fila que se indica mediante document_id.Number of occurrences of the current keyword in the document or row that is indicated by document_id. Cuando se especifica 'search_property_name', occurrence_count muestra solo el número de apariciones de la palabra clave actual en la propiedad de búsqueda especificada dentro del documento o la fila.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.

ObservacionesRemarks

La información devuelta por sys.dm_fts_index_keywords_by_document es útil para averiguar lo siguiente, entre otras cosas:The information returned by sys.dm_fts_index_keywords_by_document is useful for finding out the following, among other things:

  • El número total de palabras clave que contiene un índice de texto completo.The total number of keywords that a full-text index contains.

  • Si una palabra clave forma parte de un documento o fila determinados.Whether a keyword is part of a given document or row.

  • Cuántas veces aparece una palabra clave en el índice de texto completo; es decir:How many times a keyword appears in the whole full-text index; that is:

    (SUM(occurrence_count) palabra clave = Where keyword_value )(SUM(occurrence_count) WHERE keyword=keyword_value )

  • Número de veces que una palabra clave aparece en un documento o fila determinados.How many times a keyword appears in a given document or row.

  • Número de palabras clave contenidas en un documento o fila determinados.How many keywords a given document or row contains.

Además, también puede utilizar la información proporcionada por sys.dm_fts_index_keywords_by_document para recuperar todas las palabras clave que pertenecen a un documento o fila determinados.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.

Cuando la columna de clave de texto completo es un tipo de datos entero, como se recomienda, document_id se asigna directamente al valor de clave de texto completo de la tabla base.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.

Por el contrario, cuando la columna de clave de texto completo utiliza un tipo de datos que no es entero, document_id no representa la clave de texto completo en la tabla base.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. En este caso, para identificar la fila de la tabla base devuelta por dm_fts_index_keywords_by_document, debe combinar esta vista con los resultados devueltos por sp_fulltext_keymappings.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. Para poder combinarlos, debe almacenar la salida del procedimiento almacenado en una tabla temporal.Before you can join them, you must store the output of the stored procedure in a temp table. A continuación, puede combinar la columna document_id de dm_fts_index_keywords_by_document con la columna DocId que este procedimiento almacenado devuelve.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. Tenga en cuenta que una columna de marca de tiempo no puede recibir valores en el momento de la inserción, porque los genera automáticamente SQL ServerSQL Server .Note that a timestamp column cannot receive values at insert time, because they are auto-generated by SQL ServerSQL Server. Por lo tanto, la columna timestamp debe convertirse en columnas varbinary (8) .Therefore, the timestamp column must be converted to varbinary(8) columns. En el ejemplo siguiente se muestran estos pasos.The following example shows these steps. En este ejemplo, table_id es el identificador de la tabla, database_name es el nombre de la base de datos y TABLE_NAME es el nombre de la tabla.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  
  

PermisosPermissions

Necesita el permiso SELECT en las columnas cubiertas por el índice de texto completo y permisos CREATE FULLTEXT CATALOG.Requires SELECT permission on the columns covered by the full-text index and CREATE FULLTEXT CATALOG permissions.

EjemplosExamples

A.A. Mostrar el contenido del índice de texto completo en el nivel de documentoDisplaying full-text index content at the document level

En el ejemplo siguiente se muestra el contenido del índice de texto completo en el nivel de documento en la tabla HumanResources.JobCandidate de la base de datos de ejemplo AdventureWorks2012.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.

Nota

Puede crear este índice ejecutando el ejemplo proporcionado para la HumanResources.JobCandidate tabla en CREATE FULLTEXT index (TRANSACT-SQL).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  

Consulte tambiénSee Also

Funciones y vistas de administración dinámica de la búsqueda de texto completo y la búsqueda semántica (Transact-SQL) Full-Text Search and Semantic Search Dynamic Management Views and Functions (Transact-SQL)
Búsqueda de texto completo Full-Text Search
sys.dm_fts_index_keywords ()de 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 ()de Transact-SQL sp_fulltext_keymappings (Transact-SQL)
Mejorar el rendimiento de los índices de texto completoImprove the Performance of Full-Text Indexes