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


Управление полнотекстовыми индексами

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

  • Просмотр и изменение свойств полнотекстового индекса

  • Просмотр свойств индексированных таблиц и столбцов

  • Получение информации о столбце полнотекстового ключа

  • Отключение или повторное включение таблицы для полнотекстового индексирования

  • Удаление полнотекстового индекса из таблицы

Просмотр и изменение свойств полнотекстового индекса

Просмотр или изменение свойств полнотекстового индекса в среде Management Studio

  1. В обозревателе объектов разверните узел сервера.

  2. Разверните узел Базы данных, а затем разверните базу данных, которая содержит полнотекстовый индекс.

  3. Раскройте узел Таблицы.

  4. Правой кнопкой мыши щелкните таблицу, в которой определен полнотекстовый индекс, выберите Полнотекстовый индекс, затем в контекстном меню Полнотекстовый индекс выберите Свойства. Откроется диалоговое окно Свойства полнотекстового индекса.

  5. На панели Выбор страницы можно выбрать любую из приведенных ниже страниц.

    Страница

    Описание

    Общие

    Отображаются основные свойства полнотекстового индекса. Сюда относятся несколько изменяемых свойств и несколько неизменяемых, например имя базы данных, имя таблицы и имя полнотекстового ключевого столбца. Изменяемыми являются следующие свойства.

    • Список стоп-слов полнотекстового индекса

    • Полнотекстовое индексирование включено

    • Отслеживание изменений

    • Список свойств поиска

    Дополнительные сведения см. в разделе Свойства полнотекстового индекса (страница «Общие»).

    Столбцы

    Отображаются столбцы таблицы, доступные для полнотекстового индексирования. Выбранные столбцы включаются в полнотекстовый индекс. Можно выбрать столько доступных столбцов, сколько нужно включить в полнотекстовый индекс. Дополнительные сведения см. в разделе Свойства полнотекстового индекса (страница «Столбцы»).

    Расписания

    Эта страница используется для создания расписаний задания агента SQL Server, которое запускает добавочное заполнение таблицы для заполнения полнотекстового индекса или для управления такими расписаниями. Дополнительные сведения см. в разделе Заполнение полнотекстовых индексов.

    Важное примечаниеВажно!

    После выхода из диалогового окна Свойства полнотекстового индекса любое вновь созданное расписание становится связанным с заданием агента SQL Server («Запуск инкрементного заполнения таблицы по database_name.table_name»).

  6. Нажмите кнопку ОК. . Изменения будут сохранены, и диалоговое окно Свойства полнотекстового индекса закроется.

[В НАЧАЛО]

Просмотр свойств индексированных таблиц и столбцов

Могут использоваться некоторые функции Transact-SQL, такие как OBJECTPROPERTYEX, для получения значений различных свойств полнотекстового индексирования. Эти сведения полезны для администрирования и устранения нарушений в работе средств полнотекстового поиска.

В следующей таблице перечислены свойства полнотекстового поиска, связанные с индексированными таблицами и столбцами, и относящиеся к ним функции Transact-SQL.

Свойство

Описание

Функция

FullTextTypeColumn

TYPE COLUMN в таблице, которая содержит информацию о типе документа столбца.

COLUMNPROPERTY

IsFulltextIndexed

Указывает, включено ли в столбце полнотекстовое индексирование.

COLUMNPROPERTY

IsFulltextKey

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

INDEXPROPERTY

TableFulltextBackgroundUpdateIndexOn

Указывает, имеется ли в таблице фоновое полнотекстовое индексирование обновлений.

OBJECTPROPERTYEX

TableFulltextCatalogId

Идентификатор полнотекстового каталога, где находятся данные полнотекстового индекса таблицы.

OBJECTPROPERTYEX

TableFulltextChangeTrackingOn

Указывает, включено ли в таблице полнотекстовое отслеживание изменений.

OBJECTPROPERTYEX

TableFulltextDocsProcessed

Количество строк, обработанных с начала полнотекстового индексирования.

OBJECTPROPERTYEX

TableFulltextFailCount

Количество строк, для которых полнотекстовый поиск не выявил индекса.

OBJECTPROPERTYEX

TableFulltextItemCount

Количество строк, для которых было успешно выполнено полнотекстовое индексирование.

OBJECTPROPERTYEX

TableFulltextKeyColumn

Идентификатор столбца полнотекстового уникального ключевого столбца.

OBJECTPROPERTYEX

TableFullTextMergeStatus

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

OBJECTPROPERTYEX

TableFulltextPendingChanges

Количество отслеженных в процессе изменений.

OBJECTPROPERTYEX

TableFulltextPopulateStatus

Указывает состояние заполнения полнотекстовой таблицы.

OBJECTPROPERTYEX

TableHasActiveFulltextIndex

Указывает, содержит ли таблица активный полнотекстовый индекс.

OBJECTPROPERTYEX

[В начало]

Получение информации о столбце полнотекстового ключа

Обычно результат функций, возвращающих наборы строк CONTAINSTABLE или FREETEXTTABLE, необходимо соединить с базовой таблицей. В таких случаях необходимо знать уникальное имя ключевого столбца. Можно уточнить, используется ли данный уникальный индекс как полнотекстовый ключ, а также получить идентификатор полнотекстового ключевого столбца.

Проверка использования данного уникального индекса в качестве полнотекстового ключевого столбца

  • Вызовите функцию INDEXPROPERTY с помощью инструкции SELECT. В вызове функции используется функция OBJECT_ID для преобразования имени таблицы (table_name) в идентификатор таблицы, задания имени уникального индекса для таблицы и указания индексного свойства IsFulltextKey, следующим образом:

    SELECT INDEXPROPERTY( OBJECT_ID('table_name'), 'index_name',  'IsFulltextKey' );
    

    Если индекс принудительно обеспечивает уникальность столбца полнотекстового ключа, будет возвращено значение 1, в противном случае запрос возвратит 0.

Пример

Следующий пример уточняет, используется ли индекс PK_Document_DocumentID для обеспечения уникальности столбца полнотекстового ключа:

USE AdventureWorks
GO
SELECT INDEXPROPERTY ( OBJECT_ID('Production.Document'), 'PK_Document_DocumentID',  'IsFulltextKey' )

Если индекс PK_Document_DocumentID используется для обеспечения уникальности столбца полнотекстового ключа, будет возвращено значение 1. В противном случае возвращается значение 0 или NULL. NULL означает, что используется недопустимое имя индекса, имя индекса не соответствует таблице, таблица не существует и пр.

Поиск идентификатора столбца полнотекстового ключа

  • Каждая таблица, поддерживающая полнотекстовый поиск, имеет столбец, который обеспечивает принудительное применение уникальных строк в таблице (уникальный ключевой столбец). Свойство TableFulltextKeyColumn, возвращаемое функцией OBJECTPROPERTYEX, содержит идентификатор уникального ключевого столбца.

    Для получения идентификатора можно вызвать функцию OBJECTPROPERTYEX с помощью инструкции SELECT. Функция OBJECT_ID используется для преобразования имени таблицы (table_name) в идентификатор таблицы и задания свойства TableFulltextKeyColumn, следующим образом:

    SELECT OBJECTPROPERTYEX(OBJECT_ID( 'table_name'), 'TableFulltextKeyColumn' ) AS 'Column Identifier';
    

Примеры

В следующем примере возвращается идентификатор столбца полнотекстового ключа или значение NULL. NULL означает, что используется недопустимое имя индекса, имя индекса не соответствует таблице, таблица не существует и пр.

USE AdventureWorks;
GO
SELECT OBJECTPROPERTYEX(OBJECT_ID('Production.Document'), 'TableFulltextKeyColumn');
GO

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

USE AdventureWorks;
GO
DECLARE @key_column sysname
SET @key_column = Col_Name(Object_Id('Production.Document'),
ObjectProperty(Object_id('Production.Document'),
'TableFulltextKeyColumn') 
)
SELECT @key_column AS 'Unique Key Column';
GO

В этом примере возвращается столбец результирующего набора с именем Unique Key Column, в котором отображается одна строка с именем уникального ключевого столбца таблицы Document, DocumentID. Обратите внимание, что если этот запрос содержал недопустимое имя индекса, имя индекса не соответствует таблице, таблица не существует и пр., то будет возвращено значение NULL.

[В начало]

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

В SQL Server во всех созданных пользователями базах данных полнотекстовый поиск включен по умолчанию. Кроме того, отдельная таблица автоматически включается для полнотекстового индексирования, как только для нее создается полнотекстовый индекс, и в этот индекс добавляется столбец. Таблица автоматически выключается для полнотекстового индексирования, как только из ее полнотекстового индекса удаляется последний столбец.

В таблице с полнотекстовым индексом можно вручную отключить и повторно включить полнотекстовое индексирование, используя среду Среда SQL Server Management Studio.

Включение полнотекстового индексирования для таблицы

  1. Разверните группу серверов, разверните узел Базы данных и разверните базу данных, содержащую таблицу, для которой нужно включить полнотекстовое индексирование.

  2. Разверните узел Таблицы и щелкните правой кнопкой мыши таблицу, которую нужно отключить или повторно включить для полнотекстового индексирования.

  3. Выберите Полнотекстовый индекс и щелкните Отключить полнотекстовое индексирование или Включить полнотекстовое индексирование.

[В НАЧАЛО]

Удаление полнотекстового индекса из таблицы

Удаление полнотекстового индекса из таблицы

  1. В обозревателе объектов щелкните правой кнопкой мыши таблицу, содержащую полнотекстовый индекс, который необходимо удалить.

  2. Выберите Удалить полнотекстовый индекс.

  3. В окне для подтверждения удаления полнотекстового индекса нажмите кнопку ОК.

[В начало]