Настройка полнотекстовых лингвистических компонентов
Начиная с версии SQL Server 2008 полнотекстовый поиск поддерживает почти 50 разных языков, в том числе английский, испанский, китайский, японский, арабский, бенгальский и хинди. Полный список поддерживаемых языков полнотекстового поиска см. в разделе sys.fulltext_languages (Transact-SQL). Каждый из столбцов в полнотекстовом индексе связан с идентификатором языкового стандарта (кодом языка) Microsoft Windows, который соответствует языку, поддерживаемому полнотекстовым поиском. Например, код языка 1033 соответствует языку «Английский (США)», а код 2057 соответствует языку «Английский (Великобритания)». Для каждого поддерживаемого языка полнотекстового поиска SQL Server предусмотрены лингвистические компоненты, которые поддерживают индексирование полнотекстовых данных и выполнение запросов к полнотекстовым данным на этом языке.
Работа таких компонентов, как средство разбиения по словам и парадигматический модуль, имеет свою специфику для каждого языка. Средство разбиения по словам находит границы слов на основании лексических правил данного языка (разбиение по словам). Каждое средство разбиения по словам связано с парадигматическим модулем, который спрягает глаголы этого языка и т.п. Дополнительные сведения см. в разделе Средства разбиения по словам и парадигматические модули.
Кроме того, начиная с SQL Server 2008 предоставляется список стоп-слов с основным набором стоп-слов (называемых также пропускаемыми словами). Стоп-словом является слово, которое бесполезно при поиске и пропускается при выполнении полнотекстовых запросов. Примерами стоп-слов для английского языкового стандарта могут служить слова «a», «and», «is» и «the». Обычно бывает нужно настроить один или несколько файлов тезауруса и списков стоп-слов. Дополнительные сведения см. в разделе Стоп-слова и списки стоп-слов.
Кроме того, SQL Server устанавливает файл тезауруса для каждого полнотекстового языка, а также файл глобального тезауруса. Устанавливаемые файлы тезауруса в основном пустые, но их можно изменять, добавляя туда определения синонимов для конкретного языка или бизнес-сценария. Подготовив тезаурус, ориентированный на пользовательские полнотекстовые данные, можно эффективно расширить область полнотекстовых запросов к этим данным. Дополнительные сведения см. в разделе Конфигурация тезауруса.
Индексирование документа в столбце типов данных varbinary, varbinary(max), image или xml требует наличия фильтра для выполнения дополнительной обработки. Фильтр должен соответствовать типу документа (DOC, PDF, XLS, XML и т.д.). Дополнительные сведения см. в разделе Фильтры полнотекстового поиска.
Примечание |
---|
Средства разбиения по словам (и парадигматические модули), а также фильтры выполняются в процессе управляющей программы фильтрации (fdhost.exe). Сведения об этом процессе см. в разделе Архитектура компонента Full-Text Search. |
См. также