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


Средства разбиения по словам и парадигматические модули

Средства разбиения по словам и парадигматические модули выполняют лингвистический анализ данных, проходящих полнотекстовое индексирование. Лингвистический анализ предусматривает поиск границ слов (разделение слов) и спряжение глаголов (выделение основы). Средства разбиения по словам и парадигматические модули являются уникальными для своих языков. У разных языков правила лингвистического анализа различаются. Для данного языка средство разбиения по словам определяет слова по границам слов согласно лексическим правилам языка. Каждое слово (называемое также токеном) вставляется в полнотекстовый индекс с использованием сжатого представления для уменьшения его размера. Парадигматический модуль создает словоформы определенного слова на основании правил этого языка (например, «выполняется», «выполнялся» и «выполняющийся» являются различными формами слова «выполняться»).

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

Регистрация средств разбиения по словам

Для использования средств разбиения по словам определенного языка необходимо выполнить их регистрацию. Если для языка зарегистрированы средства разбиения по словам, все его прочие лингвистические ресурсы, в том числе парадигматические модули, пропускаемые слова (стоп-слова) и файлы тезауруса, становятся доступными для полнотекстовой индексации и выполнения запросов. Чтобы просмотреть список языков и средств разбиения по словам, зарегистрированных в настоящее время в SQL Server, используйте следующую инструкцию Transact-SQL.

SELECT * FROM sys.fulltext_languages

При добавлении, удалении или изменении средства разбиения по словам следует обновить список кодов языков, поддерживаемых в Microsoft Windows для полнотекстового индексирования и для выполнения запросов. Дополнительные сведения см. в разделе Как изменить список зарегистрированных средств разбиения по словам и фильтров (Transact-SQL).

В SQL Server 2008 доступно несколько лицензионных сторонних средств разбиения по словам. Можно вручную загрузить дополнительные сторонние средства разбиения по словам (и парадигматические модули) для нескольких языков (датского, польского и турецкого). Эти средства разбиения по словам по умолчанию не включены, так как созданы сторонними разработчиками, которые не обеспечивают уровень тестирования, безопасности и надежности, необходимый для включения этих средств по умолчанию. Дополнительные сведения см. в разделе Как загрузить лицензионные средства разбиения по словам, созданные сторонними разработчиками.

Параметр языка полнотекстового поиска

Для локализованной версии SQL Server программа установки SQL Server задает в качестве значения параметра язык полнотекстового поиска по умолчанию язык сервера, если для него существует совпадение. Для нелокализованной версии SQL Server параметр default full-text language по умолчанию имеет значение, соответствующее английскому языку.

При создании или изменении полнотекстового индекса для каждого отдельного полнотекстового индексированного столбца можно указать отдельный язык. Если для столбца не определен ни один язык, по умолчанию используется значение параметра конфигурации default full-text language.

Дополнительные сведения см. в разделе Параметр default full-text language.

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

Если в запросе не задан параметр LANGUAGE, то все столбцы, приведенные в предложении функции полнотекстового запроса, должны использовать один и тот же язык. Язык столбца с полнотекстовым индексированием, к которому выполняется запрос, определяет правила лингвистического анализа для аргументов предикатов полнотекстового запроса (CONTAINS и FREETEXT) и функций (CONTAINSTABLE и FREETEXTTABLE).

Выбор языка при полнотекстовом индексировании столбца

При создании полнотекстового индекса рекомендуется указывать язык для каждого индексируемого столбца. Если для столбца язык не задан, то используется язык системы по умолчанию. Язык столбца определяет, какое средство разбиения по словам и какой парадигматический модуль используется для индексирования этого столбца. Кроме того, файл тезауруса этого языка будет использоваться полнотекстовыми запросами к столбцу.

При выборе языка столбца в процессе создания полнотекстового индекса следует учитывать несколько факторов. Они связаны со способом, которым текст размечается на лексемы и затем индексируется средством полнотекстового поиска. Дополнительные сведения см. в разделе Рекомендации по выбору языка при создании полнотекстового индекса.

Просмотр языка средства разбиения по словам для столбца

Влияние новых средств разбиения по словам в SQL Server 2008

SQL Server 2008 включает средства разбиения по словам для 50 разных языков, из которых 23 также поддерживаются в SQL Server 2005. Остались без изменения только средства разбиения по словам для английского, корейского, тайского и китайского языков (всех форм). Для других языков в SQL Server 2008 было добавлено новое поколение средств разбиения по словам, обладающих улучшенными лингвистическими правилами, а также большей точностью по сравнению с более ранними версиями средств разбиения по словам. Потенциально работа новых средств разбиения по словам может отличаться от работы средств разбиения по словам в импортируемых полнотекстовых индексах SQL Server 2005. Это имеет значение, если полнотекстовый каталог был импортирован при обновлении базы данных SQL Server 2005 до версии SQL Server 2008. Один или несколько языков, используемых полнотекстовыми индексами в полнотекстовом каталоге, могут быть связаны с новыми средствами разбиения по словам. Дополнительные сведения см. в разделе Обновление полнотекстового поиска.

Версии средств разбиения по словам для языков, поддерживаемых в SQL Server 2005

Остались без изменения только средства разбиения по словам для английского, корейского, тайского и китайского языков (всех форм). В следующей таблице перечислены средства разбиения по словам, которые поставлялись в составе SQL Server 2005, и отмечено, были ли они обновлены в SQL Server 2008. Полный список всех средств разбиения по словам SQL Server 2008 см. в разделе sys.fulltext_languages (Transact-SQL).

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

Средства разбиения по словам для большинства языков зарегистрированы по умолчанию. Но по умолчанию отключен ряд лицензированных средств разбиения по словам сторонних разработчиков. Сведения об этих языках и о том, как зарегистрировать эти средства разбиения по словам, см. в разделе Как загрузить лицензионные средства разбиения по словам, созданные сторонними разработчиками.

Язык

Код языка

Средства разбиения по словам

Бразильский

1046

Новый

Китайский (Гонконг, КНР)

3076

Без изменений

Китайский (Макау)

5124

Без изменений

Китайский (Сингапур)

4100

Без изменений

Датский (по умолчанию отключен)

1030

Без изменений

Голландский

1043

Новый

Английский

1033

Без изменений

Английский (Великобритания)

2057

Без изменений

Французский

1036

Новый

Немецкий

1031

Новый

Итальянский

1040

Новый

Японский

1041

Новый

Корейский

1042

Без изменений

Нейтральный

0

Новый

Польский (по умолчанию отключен)

1045

Без изменений

Португальский

2070

Новый

Русский

1049

Новый

Китайский (упрощенный)

2052

Без изменений

Испанский

3082

Новый

Шведский

1053

Новый

Тайский

1054

Без изменений

Китайский (традиционный)

1028

Без изменений

Турецкий (по умолчанию отключен)

1055

Без изменений

Полный список поддерживаемых языков см. в разделе sys.fulltext_languages (Transact-SQL).

Ошибки, связанные с превышением времени ожидания при разбиении слов

Ошибка, связанная с превышением времени ожидания при разбиении по словам, может возникать в разных ситуациях. Дополнительные сведения о таких ситуациях и соответствующих действиях см. в разделе MSSQLSERVER_30053.

Получение сведений о средствах разбиения по словам

Просмотр итогового результата разметки сочетания средства разбиения по словам, тезауруса и списка стоп-слов

Возвращение сведения о зарегистрированных средствах разбиения по словам