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


Приступая к работе с компонентом Full-Text Search

Изменения: 17 июля 2006 г.

Активация функции полнотекстового индексирования для таблицы Microsoft SQL Server 2005 состоит из двух этапов.

  1. Создание полнотекстового каталога для хранения полнотекстовых индексов.
  2. Создание полнотекстовых индексов.
ms142497.note(ru-ru,SQL.90).gifПримечание.
По умолчанию в базе данных SQL Server полнотекстовый поиск включен, если только она не создана в среде SQL Server Management Studio. О том, как включить полнотекстовый поиск в базе данных, созданной в среде Management Studio, см. раздел Как создать базу данных (среда SQL Server Management Studio). Чтобы сделать существующие базы данных доступными для полнотекстового поиска, см. раздел Как включить применение полнотекстового индексирования для базы данных (среда SQL Server Management Studio).
ms142497.note(ru-ru,SQL.90).gifПримечание.
Также можно создавать полнотекстовые индексы для индексированных представлений. Дополнительные сведения об индексированных представлениях см. в разделе Типы представлений.

Активация компонента Full-Text Search в базе данных AdventureWorks

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

Чтобы создать полнотекстовый каталог AdvWksDocFTCat, выполните инструкцию CREATE FULLTEXT CATALOG:

CREATE FULLTEXT CATALOG AdvWksDocFTCat

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

ms142497.note(ru-ru,SQL.90).gifПримечание.
Для указания расположения папки используйте предложение IN PATH. Дополнительные сведения см. в разделе CREATE FULLTEXT CATALOG (Transact-SQL).

Кроме того, для создания полнотекстового каталога можно воспользоваться средой Management Studio. В обозревателе объектов для базы данных, для которой необходимо создать полнотекстовый каталог, раскройте папку Хранилище, щелкните правой кнопкой мыши папку Полнотекстовые каталоги, затем выберите Создать полнотекстовый каталог. Дополнительные сведения см. в разделе Создать полнотекстовый каталог (страница «Общие»).

Идентификаторы полнотекстовых каталогов начинаются с 00005 и увеличиваются на единицу для каждого вновь создаваемого каталога.

Если возможно, полнотекстовые каталоги следует создавать на отдельном физическом диске (или дисках). Процесс создания полнотекстового каталога довольно сильно загружает подсистему ввода-вывода (на высоком уровне он складывается из чтения данных из SQL Server и записи индекса в файловую систему), поэтому следует позаботиться о том, чтобы ввод-вывод не приводил к ограничению производительности.

После создания полнотекстового каталога следует создать полнотекстовый индекс. Однако прежде чем создавать полнотекстовый индекс для таблицы Document, нужно узнать, имеет ли она уникальный индекс из одного столбца, не допускающий значений NULL. Служба полнотекстового поиска (Майкрософт) для SQL Server (MSFTESQL) использует этот уникальный индекс для сопоставления каждой строки таблицы с уникальным ключом со сжатием.

Чтобы создать такой индекс, выполните следующую инструкцию:

CREATE UNIQUE INDEX ui_ukDoc ON Production.Document(DocumentID)
ms142497.note(ru-ru,SQL.90).gifПримечание.
В таблице Document уже имеется такой столбец. Вышеуказанный код приведен исключительно для примера.

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

CREATE FULLTEXT INDEX ON Production.Document
(
    Document                         --Full-text index column name 
        TYPE COLUMN FileExtension    --Name of column that contains file type information
        Language 0X0                 --0X0 is LCID for neutral language
)
KEY INDEX ui_ukDoc ON AdvWksDocFTCat --Unique index
WITH CHANGE_TRACKING AUTO            --Population type
GO

Или же полнотекстовый индекс можно создать при помощи мастера полнотекстового индексирования. Дополнительные сведения см. в разделе Как запустить мастер полнотекстового индексирования (среда SQL Server Management Studio).

Сведения, которые следует учитывать при выборе языка столбца, см. в разделе Поддержка многоязычных функций в компоненте Full-Text Search.

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

SELECT FULLTEXTCATALOGPROPERTY('AdvWksDocFTCat', 'Populatestatus')

Как правило, если выполняется полное заполнение, возвращается значение 1.

См. также

Другие ресурсы

FULLTEXTCATALOGPROPERTY (Transact-SQL)
OBJECTPROPERTYEX (Transact-SQL)
CREATE FULLTEXT CATALOG (Transact-SQL)
CREATE FULLTEXT INDEX (Transact-SQL)

Справка и поддержка

Получение помощи по SQL Server 2005

Журнал изменений

Версия Журнал

17 июля 2006 г.

Новое содержимое.
  • Добавлено замечание о том, что когда база данных создается в среде Management Studio, полнотекстовое индексирование в ней по умолчанию отключено.