Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Aplica-se a:SQL Server
Azure SQL Managed Instance
Sistema de Plataforma de Análise (PDW)
Devolve informação sobre o conteúdo ao nível do documento de um índice de texto completo associado à tabela especificada.
sys.dm_fts_index_keywords_by_document é uma função de gestão dinâmica.
Para visualizar informações índices de texto completo de nível superior
Para visualizar informação sobre conteúdo ao nível de propriedade relacionado com uma propriedade de documento
Sintaxe
sys.dm_fts_index_keywords_by_document
(
DB_ID('database_name'), OBJECT_ID('table_name')
)
Arguments
db_id('database_name')
Uma chamada para a função DB_ID(). Esta função aceita um nome de base de dados e devolve o ID da base de dados, que sys.dm_fts_index_keywords_by_document utiliza para encontrar a base de dados especificada. Se database_name for omitido, o ID atual da base de dados é devolvido.
object_id('table_name')
Uma chamada para a função OBJECT_ID(). Esta função aceita um nome de tabela e devolve o ID da tabela que contém o índice de texto completo para inspecionar.
Tabela retornada
| Coluna | Tipo de dados | Description |
|---|---|---|
| palavra-chave | Nvarchar(4000) | A representação hexadecimal da palavra-chave que está armazenada no índice do texto completo. Nota: OxFF representa o carácter especial que indica o fim de um ficheiro ou conjunto de dados. |
| display_term | Nvarchar(4000) | O formato legível para humanos da palavra-chave. Este formato deriva do formato interno que é armazenado no índice de texto completo. Nota: OxFF representa o carácter especial que indica o fim de um ficheiro ou conjunto de dados. |
| column_id | int | ID da coluna a partir da qual a palavra-chave atual foi indexada em texto completo. |
| document_id | int | ID do documento ou linha de onde o termo atual foi indexado em texto completo. Este ID corresponde ao valor da chave em texto completo desse documento ou linha. |
| occurrence_count | int | Número de ocorrências da palavra-chave atual no documento ou linha indicada por document_id. Quando 'search_property_name' é especificado, occurrence_count mostra apenas o número de ocorrências da palavra-chave atual na propriedade de pesquisa especificada dentro do documento ou linha. |
Observações
A informação devolvida por sys.dm_fts_index_keywords_by_document é útil para descobrir o seguinte, entre outras coisas:
O número total de palavras-chave que um índice de texto completo contém.
Se uma palavra-chave faz parte de um determinado documento ou linha.
Quantas vezes uma palavra-chave aparece no índice completo do texto; Isso é:
(SUM(occurrence_count) palavra-chave= WHEREkeyword_value )
Quantas vezes uma palavra-chave aparece num determinado documento ou linha.
Quantas palavras-chave contém um determinado documento ou linha.
Além disso, pode também usar a informação fornecida por sys.dm_fts_index_keywords_by_document para recuperar todas as palavras-chave pertencentes a um determinado documento ou linha.
Quando a coluna da chave do texto completo é um tipo de dado inteiro, como recomendado, a document_id corresponde diretamente ao valor da chave do texto completo na tabela base.
Em contraste, quando a coluna da chave do texto completo usa um tipo de dado não inteiro, document_id não representa a chave do texto completo na tabela base. Neste caso, para identificar a linha na tabela base que é devolvida por dm_fts_index_keywords_by_document, é necessário juntar esta vista aos resultados devolvidos por sp_fulltext_keymappings. Antes de os poder juntar, deve armazenar a saída do procedimento armazenado numa tabela temporária. Depois podes juntar a coluna document_id de dm_fts_index_keywords_by_document com a coluna DocId que é devolvida por este procedimento armazenado. Note que uma coluna de carimbo temporal não pode receber valores no momento da inserção, porque são gerados automaticamente pelo SQL Server. Portanto, a coluna de carimbo temporal deve ser convertida para colunas varbinary(8 ). O exemplo seguinte mostra estes passos. Neste exemplo, table_id é o ID da sua tabela, database_name é o nome da sua base de dados e table_name é o nome da sua tabela.
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
Permissions
Requer permissão SELECT nas colunas cobertas pelo índice de texto completo e permissões CRIAR CATÁLOGO DE TEXTO COMPLETO.
Examples
A. Exibição do conteúdo do índice de texto completo ao nível do documento
O exemplo seguinte apresenta o conteúdo do índice de texto completo ao nível do documento na HumanResources.JobCandidate tabela da AdventureWorks2025 base de dados de exemplo.
Observação
Pode criar este índice executando o exemplo fornecido para a HumanResources.JobCandidate tabela em CREATE FULLTEXT INDEX (Transact-SQL).
SELECT * FROM sys.dm_fts_index_keywords_by_document(db_id('AdventureWorks2022'),
object_id('HumanResources.JobCandidate'));
GO
Ver também
Full-Text Visão e Funções de Gestão Dinâmica de Pesquisa e Pesquisa Semântica (Transact-SQL)
PesquisaFull-Text
sys.dm_fts_index_keywords (Transact-SQL)
sys.dm_fts_index_keywords_by_property (Transact-SQL)
sp_fulltext_keymappings (Transact-SQL)
Melhorar o desempenho dos índices Full-Text