Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Aplica-se a:SQL Server
Banco de Dados SQL do Azure
Instância Gerenciada de SQL do Azure
Banco de dados SQL no Microsoft Fabric
Retorna todo o conteúdo relacionado a propriedade no índice de texto completo de uma determinada tabela. Isso inclui todos os dados pertencentes a qualquer propriedade registrada pela lista de propriedades de pesquisa associada àquele índice de texto completo.
sys.dm_fts_index_keywords_by_property é uma função de gerenciamento dinâmico que permite ver quais propriedades registradas foram emitidas pelos IFilters em tempo de índice, bem como o conteúdo exato de cada propriedade em cada documento indexado.
Para visualizar todo o conteúdo em nível de documento (incluindo conteúdo relacionado à propriedade), veja sys.dm_fts_index_keywords_by_document.
Para visualizar informações de índice completo de nível superior, veja sys.dm_fts_index_keywords.
Para obter informações sobre listas de propriedades de pesquisa, consulte Pesquisar propriedades do documento com listas de propriedades de pesquisa.
Sintaxe
sys.dm_fts_index_keywords_by_property
(
DB_ID('database_name')
, OBJECT_ID('table_name')
)
Argumentos
DB_ID('database_name')
Um chamado para a função DB_ID .
DB_ID é int. Essa função aceita um nome de banco de dados e retorna o ID do banco de donadas, que sys.dm_fts_index_keywords_by_property é usado para encontrar o banco de dados especificado. Se database_name for omitido, a ID de banco de dados atual será retornada.
OBJECT_ID('table_name')
Uma ligação para a função OBJECT_ID .
OBJECT_ID é int. Essa função aceita um nome de tabela e retorna o ID da tabela contendo o índice de texto completo para inspecionar.
Tabela retornada
| Nome da Coluna | Tipo de dados | Anulável | Descrição |
|---|---|---|---|
keyword
1 |
varbinary(128) | No | A representação hexadecimal da palavra-chave armazenada no índice de texto completo. |
display_term
1 |
nvarchar(4000) | No | O formato legível da palavra-chave. Esse formato é derivado do formato interno, que é armazenado no índice de texto completo. |
column_id |
int | No | A ID da coluna a partir da qual a palavra-chave atual foi indexada com texto completo. |
document_id |
bigint | Sim | A ID do documento ou linha a partir da qual o termo atual foi indexado com texto completo. Essa ID corresponde ao valor da chave de texto completo desse documento ou linha. |
property_id |
int | Sim | ID interno da propriedade de busca dentro do índice de texto completo da tabela que você especificou no OBJECT_ID parâmetro. |
10xFF representa o caractere especial que indica o fim de um arquivo ou conjunto de dados.
Quando uma determinada propriedade é adicionada a uma lista de propriedades de pesquisa, o Mecanismo de Texto Completo registra a propriedade e atribui a ela uma ID de propriedade interna que é específica dessa lista de propriedades. A ID de propriedade interna, que é um inteiro, é exclusiva de uma determinada lista de propriedades de pesquisa. Se uma determinada propriedade for registrada para várias listas de propriedades de pesquisa, uma ID de propriedade interna diferente poderá ser atribuída para cada lista de propriedades de pesquisa.
Note
O ID interno da propriedade é distinto do identificador inteiro da propriedade especificado ao adicionar a propriedade à lista de propriedades de busca. Para obter mais informações, consulte Pesquisar propriedades de documento com listas de propriedades de pesquisa.
Para ver a associação entre property_id e o nome da propriedade, veja sys.registered_search_properties.
Observações
Essa exibição de gerenciamento dinâmico pode responder a perguntas como estas:
Que conteúdo é armazenado em uma determinada propriedade para um determinado DocID?
Quão comum é uma determinada propriedade entre os documentos indexados?
Quais documentos contêm de fato uma determinada propriedade? Isso é útil se consultar em uma determinada propriedade de busca não retorna um documento que você esperava encontrar.
Quando a coluna da chave do texto completo é um tipo de dado inteiro, conforme recomendado, ela document_id mapeia diretamente para o valor da chave do texto completo na tabela base.
Em contraste, quando a coluna de chave de texto completo usa um tipo de dado não inteiro, document_id não representa a chave de texto completo na tabela base. Nesse caso, para identificar a linha na tabela base que é retornada por dm_fts_index_keywords_by_property, você precisa unir essa visualização aos resultados retornados por sp_fulltext_keymappings.
Antes de uni-los, é necessário armazenar a saída do procedimento armazenado em uma tabela temporária. Então você pode juntar a document_id coluna de dm_fts_index_keywords_by_property com a DocId coluna que é retornada por esse procedimento armazenado. Uma coluna de carimbo de tempo não pode receber valores no momento da inserção, porque eles são gerados automaticamente pelo SQL Server. Portanto, a coluna timestamp deve ser convertida em colunas varbinary(8 ). O exemplo a seguir mostra estas etapas. Neste exemplo, @table_id é o ID da sua tabela, database_name é o nome do seu banco 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 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_property(@db_id, @table_id) AS kbd
INNER JOIN #MyTempTable AS tt
ON tt.[docid] = kbd.document_id;
GO
Permissions
Requer SELECT permissão nas colunas cobertas pelo índice do texto completo e CREATE FULLTEXT CATALOG permissões.
Examples
O exemplo a seguir retornar palavras-chave da propriedade Author no índice de texto completo da tabela Production.Document do banco de dados de amostra AdventureWorks2025. O exemplo usa o alias KWBPOP para a tabela retornada por sys.dm_fts_index_keywords_by_property . O exemplo usa junções internas para combinar colunas de sys.registered_search_properties e sys.fulltext_indexes.
-- Once the full-text index is configured to support property searching
-- on the Author property, return any keywords indexed for this property.
USE AdventureWorks2025;
GO
SELECT KWBPOP.*
FROM sys.dm_fts_index_keywords_by_property(DB_ID(), OBJECT_ID('Production.Document')) AS KWBPOP
INNER JOIN sys.registered_search_properties AS RSP
ON ((KWBPOP.property_id = RSP.property_id)
AND (RSP.property_name = 'Author'))
INNER JOIN sys.fulltext_indexes AS FTI
ON ((FTI.[OBJECT_ID] = OBJECT_ID('Production.Document'))
AND (RSP.property_list_id = FTI.property_list_id));
GO
Conteúdo relacionado
- Pesquisa de texto completo
- Melhorar o desempenho dos índices em texto completo
- sp_fulltext_keymappings (Transact-SQL)
- sys.dm_fts_index_keywords_by_document (Transact-SQL)
- sys.dm_fts_index_keywords (Transact-SQL)
- sys.registered_search_properties (Transact-SQL)
- sys.registered_search_property_lists (Transact-SQL)
- Pesquisar propriedades de documentos com listas de propriedades de pesquisa