Введение в компонент Full-Text Search
Полнотекстовый поиск обеспечивает быстрое и гибкое индексирование для запросов текстовых данных, хранящихся в базе данных Microsoft SQL Server. В отличие от предиката LIKE, который работает только с комбинациями символов, полнотекстовые запросы выполняют лингвистический поиск данных, обрабатывая слова и фразы согласно правилам конкретного языка.
В Microsoft SQL Server 2005 полнотекстовый поиск возможен в масштабах предприятия. Значительные улучшения в области производительности, управляемости и функциональности обеспечивают исключительные возможности поиска для приложений любого масштаба.
В преимуществах производительности полнотекстового поиска можно убедиться при запросах к большому количеству неструктурированных текстовых данных. Выполнение запроса LIKE к миллионам строк текстовых данных может занять несколько минут, в то время как полнотекстовый запрос к тем же данным занимает всего несколько секунд или даже меньше, в зависимости от количества возвращаемых строк.
Полнотекстовые индексы можно строить в столбцах, содержащих данные типов char, varchar и nvarchar , а также строить в столбцах, содержащих форматированные двоичные данные (например, документы Microsoft Word), — столбцах типа varbinary(max) или image. Предикат LIKE нельзя использовать в запросах к форматированным двоичным данным.
Чтобы создать полнотекстовый индекс в таблице, она должна содержать столбец с ограничением на уникальность, в котором недопустимы значения NULL. Например, рассмотрим полнотекстовый индекс для таблицы Document в базе данных Adventure Works, где DocumentID является первичным ключевым столбцом. Полнотекстовый индекс указывает, что слово «instructions» найдено в слове номер 24 и в слове номер 44 в столбце DocumentSummary строки, связанной с DocumentID = 3. Такая структура индекса обеспечивает эффективный поиск всех элементов, содержащих проиндексированные слова, а также ряд дополнительных возможностей, например поиск по фразам и поиск по сходству. Дополнительные сведения см. в разделе Таблица Document (AdventureWorks).
При обработке полнотекстового запроса средство полнотекстового поиска возвращает в SQL Server ключевые значения строк, соответствующих критериям поиска. Если выполнить полнотекстовый запрос для поиска документов, включающих слово «instructions», то из полнотекстового индекса возвращаются значения DocumentID = 3, 4, 6, 7 и 8. Затем по этим значениям SQL Server возвращает соответствующие строки.
См. также
Основные понятия
Другие ресурсы
Расширенные возможности полнотекстового поиска
LIKE (Transact-SQL)
Основные понятия компонента Full-Text Search