Процесс sql Server
В полнотекстовом поиске используются следующие компоненты процесса SQL Server.
Пользовательские таблицы. В этих таблицах содержатся данные, по которым осуществляется полнотекстовое индексирование.
Средство сбора полнотекстовых данных. Средство сбора полнотекстовых данных работает с потоками полнотекстового сканирования. Оно отвечает за планирование заполнения полнотекстовых индексов и управление им, а также за наблюдение за полнотекстовыми каталогами.
Файлы тезауруса. Эти файлы содержат синонимы искомых терминов. Дополнительные сведения см. в разделеНастройка и управление файлами тезауруса для полнотекстового поиска.
Объекты списка стоп-слов. Объекты списка стоп-слов содержат список часто встречающихся слов, бесполезных при поиске. Дополнительные сведения см. в разделеНастройка и управление стоп-словами и списками стоп-слов для полнотекстового поиска.
SQL Server обработчик запросов. Обработчик запросов компилирует и выполняет SQL-запросы. Если SQL-запрос включает запрос полнотекстового поиска, то запрос направляется в средство полнотекстового поиска как в процессе компиляции, так и при выполнении. Результат запроса сопоставляется с полнотекстовым индексом.
Средство полнотекстового поиска. Средство полнотекстового поиска в SQL Server полностью интегрировано в обработчик запросов. Средство полнотекстового поиска предназначено для компилирования и выполнения полнотекстовых запросов. Как часть выполнения запроса средство полнотекстового поиска может получать входные данные из тезауруса и списка стоп-слов.
Модуль записи индекса (индексатор). Модуль записи индекса строит структуру, используемую для хранения индексированных токенов.
Диспетчер управляющей программы фильтрации. Диспетчер управляющей программы фильтрации отвечает за наблюдение за состоянием узла управляющей программы фильтрации для полнотекстового поиска.
[В начало]
Процесс узла управляющей программы фильтрации
Узел управляющей программы фильтрации представляет собой процесс, запускаемый средством полнотекстового поиска. Он запускает следующие компоненты полнотекстового поиска, которые отвечают за доступ, фильтрацию и разбиение по словам данных из таблиц, а также разбиение по словам и морфологический поиск во входных данных запроса.
Существуют следующие компоненты узла управляющей программы фильтрации.
Обработчик протокола. Этот компонент запрашивает данные из памяти для дальнейшей обработки и обращается к данным из пользовательской таблицы в указанной базе данных. Одной из его задач является сбор данных из столбцов с полнотекстовой индексацией и передача этих данных в узел управляющей программы фильтрации, в котором требуемым образом применяется фильтрация и средство разбиения по словам.
Фильтры. Для некоторых типов данных требуется фильтрация перед полнотекстовой индексацией данных в документе, в том числе для данных в столбцах varbinary, varbinary(max), image или xml. Фильтр, используемый для данного документа, зависит от типа этого документа. Например, для документов Microsoft Word (DOC), Microsoft Excel (XLS) и XML-документов (XML) используются разные фильтры. Затем фильтр выделяет из документа фрагменты данных, при этом удаляется внедренное форматирование, остается текст и, возможно, сведения о положении текста. Результатом является поток текстовых данных. Дополнительные сведения см. в разделеНастройка и управление фильтрами для поиска.
Средства разбиения по словам и парадигматические модули. Работа средства разбиения по словам зависит от конкретного языка: компонент находит границы слов в соответствии с лексическими правилами данного языка (разбиение по словам). Каждое средство разбиения по словам связано с зависящим от языка компонентом парадигматического модуля, который спрягает глаголы и добавляет флексии. Во время индексирования узел управляющей программы фильтрации использует средство разбиения по словам и парадигматический модуль для выполнения лингвистического анализа текстовых данных из указанного столбца таблицы. Язык, связанный со столбцом таблицы в полнотекстовом индексе, определяет, какое средство разбиения по словам и какой парадигматический модуль будут использоваться для индексирования столбца. Дополнительные сведения см. в разделеНастройка и управление средством разбиения на слова и парадигматические модули для поиска.
[В начало]
Обработка полнотекстового поиска
Полнотекстовый поиск работает на базе средства полнотекстового поиска. Средство полнотекстового поиска имеет две роли: поддержка индексирования и поддержка запросов.