sys.dm_fts_index_keywords (Transact-SQL)
返回有关指定表的全文索引内容的信息。
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) |
存储在全文索引中的关键字的十六进制表示形式。
注意
OxFF 表示指示文件或数据集末尾的特殊字符。
|
display_term |
nvarchar(4000) |
关键字的可读格式。这种格式是从十六进制格式派生的。
注意
OxFF 的 display_term 值为“END OF FILE”。
|
column_id |
int |
从中对当前关键字进行全文索引的列的 ID。 |
document_count |
int |
包含当前字词的文档或行的数目。 |
注释
sys.dm_fts_index_keywords 返回的信息有助于确定以下信息(但不仅限于此):
关键字是否为全文索引的一部分。
有多少文档或行包含给定关键字。
全文索引中最常见的关键字:
与总的 document_count 0xFF 相比,每个 keyword_value 的 document_count。
通常,最常见的关键字可能适于声明为非索引字。
注意 |
---|
对于特定的文档,sys.dm_fts_index_keywords 返回的 document_count 可能比 sys.dm_fts_index_keywords_by_document 或 CONTAINS 查询返回的计数在精确性上更低。这一可能的不精确估计小于 1%。导致出现这一不精确的原因可能是:在 document_id 跨索引片断中的多行或者在同一行中多次出现时,可能会按两次计数。若要获取特定文档的更精确计数,请使用 sys.dm_fts_index_keywords_by_document 或 CONTAINS 查询。 |
权限
对于全文索引涵盖的列,要求 CREATE FULLTEXT CATALOG 权限和 SELECT 权限。
示例
A. 显示高级全文索引内容
以下示例显示有关 AdventureWorks2008R2 示例数据库中 HumanResources.JobCandidate 表的高级全文索引内容的信息。.
SELECT * FROM sys.dm_fts_index_keywords(db_id('AdventureWorks2008R2'), object_id('HumanResources.JobCandidate'))
GO