sys.dm_fts_index_keywords_position_by_document (Transact-SQL)
适用于:SQL Server
返回索引文档中关键字 (keyword) 位置信息。
语法
sys.dm_fts_index_keywords_position_by_document
(
DB_ID('database_name'),
OBJECT_ID('table_name')
)
参数
db_id ('database_name')
调用 DB_ID () 函数。 此函数接受数据库名称并返回数据库 ID,sys.dm_fts_index_keywords_position_by_document使用该 ID 来查找指定的数据库。
object_id ('table_name')
对 OBJECT_ID () 函数的调用。 此函数接受表名,并返回包含要检查的全文索引的表的表 ID。
返回的表
列 | 数据类型 | 说明 |
---|---|---|
关键字 (keyword) | varbinary(128) | 表示关键字 (keyword) 的二进制字符串。 |
display_term | nvarchar(4000) | 关键字的可读格式。 此格式是从全文索引中存储的内部格式派生的。 |
column_id | int | 从中对当前关键字进行全文索引的列的 ID。 |
document_id | bigint | 从中对当前字词进行全文索引的文档或行的 ID。 此 ID 对应于该文档或行的全文键值。 |
position | int | 关键字 (keyword) 在文档中的位置。 |
备注
使用 DMV 标识索引文档中索引词的位置。 当 sys.dm_fts_index_keywords_by_document 指示字词位于全文索引中时,可以使用此 DMV 来排查问题,但在使用这些字词运行查询时,不会返回文档。
权限
要求具有全文索引涵盖的列的 SELECT 权限以及 CREATE FULLTEXT CATALOG 权限。
示例
以下示例从示例数据库的表AdventureWorks
的Production.Document
全文索引中返回关键字。
USE AdventureWorks2022;
GO
SELECT * FROM sys.dm_fts_index_keywords_position_by_document
(
DB_ID('AdventureWorks2022'),
OBJECT_ID('AdventureWorks2022.Production.Document')
);
GO
可以在其他columns_id上添加谓词,如以下示例查询所示,以进一步隔离位置。
SELECT * FROM sys.dm_fts_index_keywords_position_by_document
(
DB_ID('AdventureWorks2022'),
OBJECT_ID('AdventureWorks2022.Production.Document')
)
WHERE document_id = 7 AND display_term = 'performance';
另请参阅
全文搜索
改进全文索引的性能
全文搜索和语义搜索函数 (Transact-SQL)
全文搜索和语义搜索动态管理视图和函数 (Transact-SQL)
全文搜索和语义搜索存储过程 (Transact-SQL)
使用搜索属性列表搜索文档属性
sys.dm_fts_index_keywords_by_document (Transact-SQL)
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈