Управление семантическим поиском и наблюдение за ним
Область применения: SQL Server
Описывается процесс семантического индексирования и задачи, связанные с наблюдением за индексами и управлением ими.
Проверка состояния семантического индексирования
Завершен ли первый этап семантического индексирования?
Запросите динамическое представление управления, sys.dm_fts_index_population (Transact-SQL) и проверьте состояние и status_description столбцы.
Первый этап индексирования включает заполнение полнотекстового индекса ключевых слов и семантического индекса ключевых фраз, а также извлечение данных о подобии документов.
USE database_name
GO
SELECT * FROM sys.dm_fts_index_population WHERE table_id = OBJECT_ID('table_name')
GO
Завершен ли второй этап семантического индексирования?
Запросите динамическое представление управления, sys.dm_fts_semantic_similarity_population (Transact-SQL) и проверьте состояние и status_description столбцы.
Второй этап индексирования включает заполнение семантического индекса подобия документов.
USE database_name
GO
SELECT * FROM sys.dm_fts_semantic_similarity_population WHERE table_id = OBJECT_ID('table_name')
GO
Проверьте размер семантических индексов
Каков логический размер семантического индекса ключевых фраз или семантического индекса подобия документов?
Запрос динамического административного представления sys.dm_db_fts_index_physical_stats (Transact-SQL).
Логический размер отображается в количестве страниц индекса.
USE database_name
GO
SELECT * FROM sys.dm_db_fts_index_physical_stats WHERE object_id = OBJECT_ID('table_name')
GO
Каков общий размер полнотекстового и семантического индексов для полнотекстового каталога?
Запросите свойство IndexSize функции метаданных FULLTEXTCATALOGPROPERTY (Transact-SQL).
SELECT FULLTEXTCATALOGPROPERTY('catalog_name', 'IndexSize')
GO
Сколько элементов проиндексированы в полнотекстовом и семантическом индексах для полнотекстового каталога?
Запросите свойство ItemCount функции метаданных FULLTEXTCATALOGPROPERTY (Transact-SQL).
SELECT FULLTEXTCATALOGPROPERTY('catalog_name', 'ItemCount')
GO
Принудительное заполнение семантических индексов
Можно принудительно выполнить заполнение полнотекстового и семантического индексов с помощью предложений START/STOP/PAUSE или RESUME POPULATION с таким же синтаксисом и поведением, как описано для полнотекстовых индексов. Дополнительные сведения см. в разделе ALTER FULLTEXT INDEX (Transact-SQL) и заполнение полнотекстовых индексов.
Поскольку семантическое индексирование зависит от полнотекстового индексирования, семантические индексы заполняются только после заполнения связанных полнотекстовых индексов.
Пример. Запуск полного заполнения полнотекстового и семантического индексов
В следующем примере начинается полное заполнение полнотекстовых и семантических индексов путем изменения существующего полнотекстового индекса в таблице Production.Document в образце AdventureWorks2022
базы данных.
USE AdventureWorks2022
GO
ALTER FULLTEXT INDEX ON Production.Document
START FULL POPULATION
GO
Отключение или повторное включение семантического индексирования
Можно включить или отключить полнотекстовое или семантическое индексирование с помощью предложений ENABLE/DISABLE с таким же синтаксисом и поведением, как описано для полнотекстовых индексов. Дополнительные сведения см. в статье ALTER FULLTEXT INDEX (Transact-SQL).
Если семантическое индексирование отключено и приостановлено, запросы к семантическим данным продолжают успешно выполняться и возвращать ранее проиндексированные данные. Такое поведение не согласуется с поведением полнотекстового поиска.
-- To disable semantic indexing on a table
USE database_name
GO
ALTER FULLTEXT INDEX ON table_name DISABLE
GO
-- To re-enable semantic indexing on a table
USE database_name
GO
ALTER FULLTEXT INDEX ON table_name ENABLE
GO
О этапах семантического индексирования
Для семантического поиска индексируются два типа данных для каждого столбца, по которому он включен.
Ключевые фразы
Подобие документов
Семантическое индексирование выполняется в два этапа совместно с полнотекстовым индексированием.
Этап 1. Полнотекстовый индекс ключевых слов и семантический индекс ключевых фраз заполняются параллельно и одновременно. Одновременно извлекаются данные, необходимые для индексирования подобия документов.
Этап 2. Затем заполняется семантический индекс подобия документов. Этот индекс зависит от обоих индексов, заполненных на предыдущем этапе.
Проблема. Семантические индексы не заполнены
Заполнены ли связанные полнотекстовые индексы?
Поскольку семантическое индексирование зависит от полнотекстового индексирования, семантические индексы заполняются только после заполнения связанных полнотекстовых индексов.
Правильно ли установлены и настроены компоненты полнотекстового поиска и семантического поиска?
Дополнительные сведения см. в разделе Установка и настройка семантического поиска.
Не находится ли служба FDHOST в состоянии «недоступна» и нет ли других проблем, которые могли бы вызвать сбой полнотекстового индексирования?
Дополнительные сведения см. в разделе Устранение неполадок полнотекстового индексирования.