b5ab525c

Полнотекстовый поиск в Microsoft SQL Server 0


Начиная с версии 7.0, компания Microsoft включила в комплект поставки Microsoft SQL Server специальную компоненту: систему полнотекстового поиска по базе данных. Эта система дает возможность пользователю находить нужные записи по разнообразным условиям, таким как поиск слов и словосочетаний, поиск слов в различных грамматических формах, а также средства поиска записей, похожих на заданный фрагмент текста. Причем для работы с этой системой пользователю не требуются дополнительные программные средства: все операторы полнотекстового поиска включены в язык Transact-SQL, используемый в этой СУБД.

Схематически работу полнотекстового поиска в Microsoft SQL можно изобразить с помощью следующей диаграммы:

Работу системы полнотекстового поиска можно разделить на два этапа.

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

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

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




Начало  Назад  Вперед