sys.dm_fts_index_keywords (Transact-SQL)

适用于SQL Server

返回有关指定表的全文索引内容的信息。

sys.dm_fts_index_keywords 是动态管理功能。

注意

若要查看较低级别的全文索引信息,请使用 文档级别的sys.dm_fts_index_keywords_by_document 动态管理功能。

语法

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

参数

db_id('database_name')
对 DB_ID() 函数的调用。 此函数接受数据库名称并返回数据库 ID,sys.dm_fts_index_keywords用于查找指定的数据库。 如果省略 database_name,则返回当前数据库 ID

object_id('table_name')
对 OBJECT_ID() 函数的调用。 此函数接受表名,并返回包含要检查的全文索引的表的表 ID。

返回的表

列名称 数据类型 描述
关键字 nvarchar(4000) 存储在全文索引中的关键字的十六进制表示形式。

注意:OxFF 表示指示文件或数据集末尾的特殊字符。
display_term nvarchar(4000) 关键字的可读格式。 这种格式是从十六进制格式派生的。

注意: OxFF 的 display_term值为“END OF FILE”。
column_id int 从中对当前关键字进行全文索引的列的 ID。
document_count int 包含当前字词的文档或行的数目。

注解

sys.dm_fts_index_keywords返回的信息可用于查找以下内容,等等:

  • 关键字是否为全文索引的一部分。

  • 有多少文档或行包含给定关键字。

  • 全文索引中最常见的关键字:

    • 每个keyword_value document_count与document_count总数相比,文档计数为0xFF。

    • 通常,最常见的关键字可能适于声明为非索引字。

注意

sys.dm_fts_index_keywords返回的document_count可能比sys.dm_fts_index_keywords_by_documentCONTAINS 查询返回的计数更准确。 这一可能的不精确估计小于 1%。 出现这种不准确的原因可能是 ,当document_id在索引片段中的多个行中继续,或者在同一行中出现多次时,可能会对document_id 进行计数。 若要获取特定文档的更准确的计数,请使用 sys.dm_fts_index_keywords_by_documentCONTAINS 查询。

权限

要求具有 sysadmin 固定服务器角色的成员身份。

示例

A. 显示高级全文索引内容

以下示例显示有关 HumanResources.JobCandidate 表中高级全文索引内容的信息。

SELECT * FROM sys.dm_fts_index_keywords(db_id('AdventureWorks2022'), object_id('HumanResources.JobCandidate'))  
GO  

另请参阅

全文搜索和语义搜索动态管理视图和函数 (Transact-SQL)
全文搜索
sys.dm_fts_index_keywords_by_document (Transact-SQL)