Поделиться через


Управление и наблюдение за семантическим поиском

Описывается процесс семантического индексирования и задачи, связанные с наблюдением за индексами и управлением ими.

В этом разделе

Нужное действие

  • проверить состояние семантического индексирования

  • проверить размер семантических индексов

  • принудительно выполнить заполнение семантических индексов

  • отключить или повторно включить семантическое индексирование

Дополнительные сведения

  • Этапы семантического индексирования

  • Проблема: семантические индексы не заполнены

Как проверить состояние семантического индексирования

  • Завершен ли первый этап семантического индексирования?
    Запросите динамическое административное управление sys.dm_fts_index_population (Transact-SQL) и проверьте столбцы status и 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 и 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 в образце базы данных AdventureWorks2012.

USE AdventureWorks2012
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. Подобие документов

Семантическое индексирование выполняется в два этапа совместно с полнотекстовым индексированием.

  1. Этап 1. Полнотекстовый индекс ключевых слов и семантический индекс ключевых фраз заполняются параллельно и одновременно. Одновременно извлекаются данные, необходимые для индексирования подобия документов.

  2. Этап 2. Затем заполняется семантический индекс подобия документов. Этот индекс зависит от обоих индексов, заполненных на предыдущем этапе.

[В начало]

Проблема: семантические индексы не заполнены

  • Заполнены ли связанные полнотекстовые индексы?
    Поскольку семантическое индексирование зависит от полнотекстового индексирования, семантические индексы заполняются только после заполнения связанных полнотекстовых индексов.

  • Правильно ли установлены и настроены компоненты полнотекстового поиска и семантического поиска?
    Дополнительные сведения см. в разделе Установка и настройка семантического поиска.

  • Не находится ли служба FDHOST в состоянии «недоступна» и нет ли других проблем, которые могли бы вызвать сбой полнотекстового индексирования?
    Дополнительные сведения см. в разделе Устранение неполадок полнотекстового индексирования.

[В НАЧАЛО]