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 使用该 ID 来查找指定的数据库。 如果省略 database_name,则返回当前数据库 ID。
object_id ('table_name')
对 OBJECT_ID () 函数的调用。 此函数接受表名,并返回包含要检查的全文索引的表的表 ID。
返回的表
列名称 | 数据类型 | 说明 |
---|---|---|
keyword | nvarchar(4000) | 存储在全文索引中的关键字 (keyword) 的十六进制表示形式。 注意:OxFF 表示指示文件或数据集末尾的特殊字符。 |
display_term | nvarchar(4000) | 关键字的可读格式。 这种格式是从十六进制格式派生的。 注意:OxFF 的display_term 值为“文件结束”。 |
column_id | int | 从中对当前关键字进行全文索引的列的 ID。 |
document_count | int | 包含当前字词的文档或行的数目。 |
备注
sys.dm_fts_index_keywords返回的信息有助于找出以下内容,等等:
关键字是否为全文索引的一部分。
有多少文档或行包含给定关键字。
全文索引中最常见的关键字:
每个keyword_value的document_count与总document_count(0xFF的文档计数)相比。
通常,最常见的关键字可能适于声明为非索引字。
注意
与 sys.dm_fts_index_keywords_by_document 或 CONTAINS 查询返回的计数相比,sys.dm_fts_index_keywords返回的document_count对于特定文档而言可能不太准确。 这一可能的不精确估计小于 1%。 之所以出现这种不准确,是因为 document_id 在索引片段中的多行中继续存在两次,或者在同一行中出现多次时,可能会将其计数两次。 若要获取特定文档的更准确的计数,请使用 sys.dm_fts_index_keywords_by_document 或 CONTAINS 查询。
权限
要求具有 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)
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈