sys.dm_fts_index_keywords (Transact-SQL)

Применимо к:SQL ServerБаза данных Azure SQLУправляемый экземпляр Azure SQLБаза данных SQL в Microsoft Fabric

Возвращает сведения о содержимом полнотекстового индекса для указанной таблицы.

sys.dm_fts_index_keywords — это динамическая функция управления.

Замечание

Для просмотра низкоуровневой полнотекстовой индексной информации используйте функцию динамического управления sys.dm_fts_index_keywords_by_document на уровне документа.

Syntax

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

Аргументы

DB_ID('database_name')

Вызов функции DB_ID . DB_ID Это интеллект. Эта функция принимает имя базы данных и возвращает идентификатор базы данных, который sys.dm_fts_index_keywords используется для поиска указанной базы данных. Если аргумент database_name не указан, возвращается идентификатор текущей базы данных.

OBJECT_ID('table_name')

Вызов функции OBJECT_ID . OBJECT_ID Это интеллект. Эта функция принимает имя таблицы и возвращает ID таблицы с полным текстом индекса для проверки.

Таблица возвращена

Название столбца Тип данных Нуллибельный Description
keyword 1 varbinary(128) Нет Шестеричное представление ключевого слова, хранящегося внутри индекса полного текста.
display_term 2 nvarchar(4000) Нет Ключевое слово в понятном формате. Этот формат происходит от шестнадцатеричного формата.
column_id int Нет Идентификатор столбца, содержащий данное ключевое слово, индексированное полнотекстовым индексом.
document_count bigint Да Количество документов или строк, содержащих текущий термин.

10xFF обозначает специальный символ, указывающий на конец файла или набора данных.
2 Значение display_term для 0xFF равен END OF FILE.

Замечания

Полученная sys.dm_fts_index_keywords информация полезна для выяснения следующего, среди прочего:

  • Является ли ключевое слово частью полнотекстового индекса.

  • Сколько документов или строк содержит определённое ключевое слово?

  • Самое распространённое ключевое слово в индексе полного текста:

    • document_count от каждого keyword_value по сравнению с общим document_countчислом документов составляет 0xFF.

    • Обычно распространённые ключевые слова уместно объявлять в качестве стопвордов.

Возврат by может быть менее точным для конкретного документа, чем количество возвращённого document_countsys.dm_fts_index_keywords_by_document или запросаCONTAINS.sys.dm_fts_index_keywords Эта потенциальная неточность оценивается менее чем в 1%. Эта неточность может возникать потому, что a document_id может быть засчитано дважды, если оно продолжается через более чем одну строку в индексном фрагменте или когда появляется более одного раза в одной строке. Для получения более точного подсчёта для конкретного документа, использования sys.dm_fts_index_keywords_by_document или CONTAINS запроса.

Permissions

Требуется членство в фиксированной серверной роли sysadmin.

Examples

А. Отображение высокоуровневого полнотекстового индексного контента

Следующий пример показывает информацию о высокоуровневом содержании полного текста индекса в HumanResources.JobCandidate таблице.

SELECT *
FROM sys.dm_fts_index_keywords(DB_ID('AdventureWorks2025'), OBJECT_ID('HumanResources.JobCandidate'));
GO