Администрирование компонента Full-Text Search
Администрирование полнотекстового поиска можно разделить на четыре основные задачи.
- Создание полнотекстовых индексов и полнотекстовых каталогов.
- Изменение существующих полнотекстовых индексов и каталогов.
- Удаление существующих полнотекстовых индексов и каталогов.
- Создание расписания заполнения индексов и его обслуживание.
Полнотекстовое администрирование выполняется на уровнях сервера, базы данных, таблицы и столбцов. На уровне сервера можно установить определенные свойства, действующие на всем сервере, например свойство resource_usage, позволяющее увеличить или уменьшить объем системных ресурсов, который использует служба полнотекстового поиска. На уровне базы данных можно включить или отключить использование службы полнотекстового поиска (Microsoft) для SQL Server (MSFTESQL). В базе данных, в которой эта служба включена, можно создавать или удалять метаданные для одного или нескольких полнотекстовых каталогов.
Примечание. |
---|
В Microsoft SQL Server 2005 полнотекстовый поиск включен по умолчанию для всех баз данных. |
На уровне таблицы можно включить или отключить поддержку полнотекстового поиска. Если определение полнотекстового поиска для таблицы меняется, например включением нового столбца, который будет индексироваться для полнотекстового поиска, необходимо повторно заполнить соответствующий полнотекстовый каталог, чтобы синхронизировать полнотекстовый индекс с новым определением полнотекстового поиска. На уровне столбца можно добавлять или удалять столбцы, поддерживающие полнотекстовые запросы.
Вопросы по созданию полнотекстовых индексов и полнотекстовых каталогов
Прежде чем перейти к созданию полнотекстовых индексов, важно узнать, чем они отличаются от обычных индексов SQL Server. Эти различия приводятся в следующей таблице.
Полнотекстовые индексы | Обычные индексы SQL Server |
---|---|
Хранятся в файловой системе, но администрирование выполняется через базу данных. |
Хранятся под контролем базы данных, в которой они определены. |
Для одной таблицы разрешен только один полнотекстовой индекс. |
Для одной таблицы разрешено несколько обычных индексов. |
Добавление данных к полнотекстовым индексам (заполнение) может либо быть запрошено явно или выполнено по расписанию, либо происходить автоматически. |
Обновляются автоматически при создании, вставке, обновлении или удалении данных, на которых они созданы. |
Группируются в той же базе данных в один или несколько полнотекстовых каталогов. |
Не группируются. |
На всех этих уровнях имеется возможность извлечения метаданных и сведений о состоянии.
Подобно обычным индексам SQL Server полнотекстовые индексы можно обновлять автоматически по мере изменения данных в связанных с ними таблицах. Кроме того, можно повторно заполнять полнотекстовые индексы вручную, но это может оказаться затратной операцией с точки зрения времени и ресурсов. Поэтому обновление индексов обычно выполняется в виде фонового асинхронного процесса в периоды низкой активности базы данных.
Таблицы с одинаковыми характеристиками обновления (например, небольшое число изменений в противоположность большому их количеству или частое изменение таблиц в определенное время дня) следует сгруппировать и приписать к одному полнотекстовому каталогу. Если установить расписание заполнения полнотекстового каталога таким образом, полнотекстовые индексы синхронизируются с таблицами, не слишком влияя на использование ресурсов сервером баз данных в течение периодов высокой активности.
Важно распланировать расположение полнотекстовых индексов для таблиц в полнотекстовых каталогах. При приписывании таблицы к полнотекстовому каталогу учитывайте следующие требования.
Всегда выбирайте для полнотекстового уникального ключа уникальный индекс с наименьшим размером. (Оптимален четырехбайтовый индекс на основе целочисленных значений). Это значительно снизит потребление ресурсов, необходимых службе поиска Microsoft для работы с файловой системой. Если первичный ключ большой (более 100 байт), попробуйте выбрать в таблице другой уникальный индекс (или создайте другой уникальный индекс) в качестве полнотекстового уникального ключа. В противном случае, если размер полнотекстового уникального ключа превышает максимально разрешенный размер (900 байт), выполнить полнотекстовое заполнение не удастся.
Если индексируется таблица с миллионами строк, припишите ее к отдельному полнотекстовому каталогу.
Учитывайте количество изменений в таблице, в которой выполняется полнотекстовое индексирование, а также количество строк в этой таблице. Если общее число изменяемых строк вместе с количеством строк, имевшихся в таблице во время последнего полнотекстового заполнения, исчисляется миллионами, припишите эту таблицу к отдельному полнотекстовому каталогу.
См. также
Основные понятия
Полнотекстовые индексы
Введение в компонент Full-Text Search
Архитектура компонента Full-Text Search
Запросы к SQL Server с использованием компонента Full-Text Search
Другие ресурсы
Основные понятия компонента Full-Text Search