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


Общие сведения о полнотекстовом индексировании

Данные полнотекстовых индексов используются средством полнотекстового поиска для компиляции полнотекстовых запросов, способных быстро находить таблицу с теми или иными словами или словосочетаниями. В полнотекстовом индексе хранятся данные о значимых для поиска словах и их расположении в одном или нескольких столбцах таблицы базы данных. Полнотекстовый индекс — это специальный тип функционального индекса на основе токенов, создаваемый и используемый средством полнотекстового поиска для SQL Server. Процесс создания полнотекстового индекса отличается от создания индексов других типов. Вместо создания сбалансированного дерева на основе значения, хранящегося в конкретной строке, служба полнотекстового поиска создает инвертированную стековую сжатую структуру индекса на основе отдельных токенов индексируемого текста. В SQL Server 2008 размеры полнотекстового индекса ограничены только доступными ресурсами памяти компьютера, на котором запущен экземпляр SQL Server.

Начиная с SQL Server 2008 полнотекстовые индексы встроены в компонент Database Engine, а не размещены в файловой системе, как в предыдущих версиях SQL Server. В новой базе данных полнотекстовый каталог является виртуальным объектом, не принадлежащим ни к одной файловой группе. Он является лишь логическим понятием, связанным с группой полнотекстовых индексов. Однако следует отметить, что при обновлении базы данных SQL Server 2000 или SQL Server 2005 (либо любого полнотекстового каталога с файлами данных), создается новая файловая группа. Дополнительные сведения см. в разделе Обновление полнотекстового поиска.

ПримечаниеПримечание

В SQL Server 2008 средство полнотекстового поиска находится в процессе SQL Server, а не в отдельной службе. Интеграция средства полнотекстового поиска в компонент Database Engine повышает управляемость, оптимизацию смешанных запросов и общую производительность.

На одну таблицу может приходиться только один полнотекстовый индекс. Чтобы в таблице можно было создать полнотекстовый индекс, она должна содержать один уникальный столбец, значением которого не является NULL. Можно создать полнотекстовый индекс на столбцах типа char, varchar, nchar, nvarchar, text, ntext, image, xml, varbinary, а также для полнотекстового поиска может индексироваться varbinary(max). Для создания полнотекстового индекса на столбце с типом данных varbinary, varbinary(max), image или xml необходимо указать столбец типа. Столбец типов — это столбец таблицы, в каждой строке которого хранятся расширения файлов (DOC, PDF, XLS и т. д.) документа.

Чтобы понять, как работает средство полнотекстового поиска, необходимо разобраться в структуре полнотекстового индекса. Дополнительные сведения см. в разделе Структура полнотекстового индекса.

Процесс создания и сопровождения полнотекстового индекса называется заполнением (а также сканированием). Существует три типа заполнения полнотекстового индекса: полное заполнение, заполнение на основе отслеживания изменений и добавочное заполнение с использованием отметок времени. Дополнительные сведения см. в разделе Заполнение полнотекстового индекса.

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

Изменение полнотекстового индекса

Удаление полнотекстового индекса