Настройка и управление средством разбиения на слова и парадигматические модули для поиска
Средства разбиения по словам и парадигматические модули выполняют лингвистический анализ данных, проходящих полнотекстовое индексирование. Лингвистический анализ предусматривает поиск границ слов (разделение слов) и спряжение глаголов (выделение основы). Средства разбиения по словам и парадигматические модули являются уникальными для своих языков. У разных языков правила лингвистического анализа различаются. Для данного языка средство разбиения по словам определяет слова по границам слов согласно лексическим правилам языка. Каждое слово (называемое также токеном) вставляется в полнотекстовый индекс с использованием сжатого представления для уменьшения его размера. Парадигматический модуль создает словоформы определенного слова на основании правил этого языка (например, «выполняется», «выполнялся» и «выполняющийся» являются различными формами слова «выполняться»).
Средства разбиения по словам для каждого языка позволяют получать более точные термы для этого языка. Если имеется средство разбиения по словам для группы языков, но для конкретного языка, входящего в эту группу, его нет, используется основной язык. Например, для обработки франко-канадского текста используется средство разбиения по словам для французского языка. Если для определенного языка отсутствует средство разбиения по словам, используется нейтральное средство разбиения по словам. В случае нейтрального средства разбиения по словам слова разделяются по нейтральным символам, таким как пробелы и знаки препинания.
В этом разделе
Регистрация средств разбиения по словам
Установка параметра Default Full-Text Language («Язык полнотекстового поиска по умолчанию»)
Выбор языка для индексированного столбца
Получение сведений о средствах разбиения по словам
Устранение ошибок задержки разбиения по словам
Влияние новых средств разбиения по словам
Регистрация средств разбиения по словам
Для использования средств разбиения по словам определенного языка необходимо выполнить их регистрацию. Если для языка зарегистрированы средства разбиения по словам, все его прочие лингвистические ресурсы, в том числе парадигматические модули, пропускаемые слова (стоп-слова) и файлы тезауруса, становятся доступными для полнотекстовой индексации и выполнения запросов. Чтобы просмотреть список языков и средств разбиения по словам, зарегистрированных в настоящее время в SQL Server, используйте следующую инструкцию Transact-SQL.
SELECT * FROM sys.fulltext_languages
При добавлении, удалении или изменении средства разбиения по словам следует обновить список кодов локалей, поддерживаемых в Microsoft Windows для полнотекстового индексирования и для выполнения запросов. Дополнительные сведения см. в разделе Просмотр или изменение зарегистрированных фильтры и разделители слов.
Установка параметра Default Full-Text Language («Язык полнотекстового поиска по умолчанию»)
Для локализованной версии SQL Server, SQL Server программа установки задает в качестве значения параметра default full-text language язык сервера, если для него существует совпадение. Для нелокализованной версии SQL Server параметр default full-text language по умолчанию имеет значение, соответствующее английскому языку.
При создании или изменении полнотекстового индекса для каждого отдельного полнотекстового индексированного столбца можно указать отдельный язык. Если для столбца не указан язык, по умолчанию используется значение параметра конфигурации default full-text language.
Примечание |
---|
Если в запросе не задан параметр LANGUAGE, то все столбцы, приведенные в предложении функции полнотекстового запроса, должны использовать один и тот же язык. Язык столбца с полнотекстовым индексированием, к которому выполняется запрос, определяет правила лингвистического анализа для аргументов предикатов полнотекстового запроса (CONTAINS и FREETEXT) и функций (CONTAINSTABLE и FREETEXTTABLE). |
Выбор языка для индексированного столбца
При создании полнотекстового индекса рекомендуется указывать язык для каждого индексируемого столбца. Если для столбца язык не задан, то используется язык системы по умолчанию. Язык столбца определяет, какое средство разбиения по словам и какой парадигматический модуль используется для индексирования этого столбца. Кроме того, файл тезауруса этого языка будет использоваться полнотекстовыми запросами к столбцу.
При выборе языка столбца в процессе создания полнотекстового индекса следует учитывать несколько факторов. Они связаны со способом, которым текст размечается на лексемы и затем индексируется средством полнотекстового поиска. Дополнительные сведения см. в разделе Выбор языка при создании полнотекстового индекса.
Просмотр языка средства разбиения по словам для столбца
sys.fulltext_index_columns (Transact-SQL)
SELECT 'language_id' AS "LCID" FROM sys.fulltext_index_columns;
Получение сведений о средствах разбиения по словам
Просмотр итогового результата разметки сочетания средства разбиения по словам, тезауруса и списка стоп-слов
Возвращение сведения о зарегистрированных средствах разбиения по словам
Устранение ошибок задержки разбиения по словам
Ошибка, связанная с превышением времени ожидания при разбиении по словам, может возникать в разных ситуациях. Дополнительные сведения о таких ситуациях и соответствующих действиях см. в разделе MSSQLSERVER_30053.
Влияние новых средств разбиения по словам
Обычно каждая версия SQL Server включает новые средства разбиения по словам, которые имеют лучшие лингвистические правила и более точны, чем прежние. Новые средства разбиения по словам могут вести себя немного не так, как средства разбиения по словам в полнотекстовых индексах, импортированных из предыдущих версий SQL Server. Это важно, если полнотекстовый каталог был импортирован при обновлении базы данных до текущей версии SQL Server. Один или несколько языков, используемых полнотекстовыми индексами в полнотекстовом каталоге, могут быть связаны с новыми средствами разбиения по словам. Дополнительные сведения см. в разделе Обновление полнотекстового поиска из SQL Server 2005.
Полный список всех средств разбиения по словам см. в разделе sys.fulltext_languages (Transact-SQL).
См. также
Справочник
ALTER FULLTEXT INDEX (Transact-SQL)
CREATE FULLTEXT INDEX (Transact-SQL)
sp_fulltext_service (Transact-SQL)
sys.fulltext_languages (Transact-SQL)
Основные понятия
Настройка и управление стоп-словами и списками стоп-слов для полнотекстового поиска