FullTextSearch и русский язык

Время чтения - 9 мин.Дата публикации 13.07.2026

Чтобы проверить и настроить русский язык для полнотекстового поиска через SQL-скрипты, нужно сделать две вещи: проверить, зарегистрирован ли язык в системе, и убедиться, что он используется как язык по умолчанию или явно указан для столбцов индекса.

Вот подробная инструкция.

1. Проверка зарегистрированных языков

Для начала посмотрите, какие языки вообще зарегистрированы в вашем экземпляре SQL Server. Русский язык должен присутствовать в этом списке с кодом LCID 1049.

Выполните этот запрос:

sql
SELECT * FROM sys.fulltext_languages;

 

Если русский язык (Russian) есть в списке — значит, его компоненты (разбивщики слов, стеммеры и т.д.) зарегистрированы. Если его нет, возможно, его нужно добавить вручную (об этом в конце).

2. Проверка языка по умолчанию

Этот параметр определяет, какой язык будет использоваться для столбцов полнотекстового индекса, если он не указан явно.

Выполните запрос, чтобы узнать текущее значение:

sql
SELECT name, value, value_in_use, description
FROM sys.configurations
WHERE name = 'default full-text language';

 

Значения LCID для языков:

  • Русский1049

  • Английский (США)1033

3. Установка русского языка по умолчанию

Если вы хотите, чтобы все новые полнотекстовые индексы в этом экземпляре по умолчанию использовали русский язык, выполните следующие скрипты:

sql
-- 1. Включаем расширенные настройки
EXEC sp_configure 'show advanced options', 1;
RECONFIGURE;
GO

-- 2. Устанавливаем русский язык (LCID = 1049)
EXEC sp_configure 'default full-text language', 1049;
RECONFIGURE;
GO

 

4. Проверка и изменение языка у существующего индекса

Важно! Настройка языка по умолчанию влияет только на новые индексы. Для существующего индекса язык уже зафиксирован на уровне каждого столбца.

Чтобы проверить, какой язык используется в вашем индексе, выполните этот запрос (замените 'Имя_вашей_таблицы' на реальное имя):

sql
SELECT 
    t.name AS TableName,
    c.name AS ColumnName,
    f.language_id AS LanguageLCID,
    f.language_term AS LanguageName
FROM sys.fulltext_index_columns f
INNER JOIN sys.columns c ON f.column_id = c.column_id AND f.object_id = c.object_id
INNER JOIN sys.tables t ON f.object_id = t.object_id
WHERE t.name = 'Имя_вашей_таблицы';

Если здесь указан не 1049 (Russian) или значение отличается от нужного, индекс нужно пересоздать, явно указав язык для столбца.

Пример пересоздания индекса с русским языком:

sql
-- Удаляем старый индекс
DROP FULLTEXT INDEX ON Имя_вашей_таблицы;
GO

-- Создаём новый с указанием русского языка для столбца
CREATE FULLTEXT INDEX ON Имя_вашей_таблицы(
    Имя_столбца LANGUAGE 1049  -- или LANGUAGE Russian
)
KEY INDEX Имя_первичного_ключа
ON Имя_полнотекстового_каталога;
GO

Альтернативный вариант установки - Таблица / Design / Столбец / Внизу настройки Fulltext / Меняем язык на русский. После этого надо сделать для индекса FullTextSearch операцию Rebuild

5. Что делать, если русского языка нет в sys.fulltext_languages?

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

Если русский язык отсутствует в списке, попробуйте обновить список зарегистрированных языков с помощью системной хранимой процедуры:

sql
EXEC sp_fulltext_service 'update_languages';

После этого перезапустите службу SQL Server и проверьте список заново.

💎 Краткий алгоритм действий

  1. Проверьте наличиеSELECT * FROM sys.fulltext_languages;

  2. Если русского нет — обновите список: EXEC sp_fulltext_service 'update_languages'; и перезапустите службу.

  3. Проверьте язык по умолчаниюSELECT * FROM sys.configurations WHERE name = 'default full-text language';

  4. Если нужно — установите русский как язык по умолчанию: EXEC sp_configure 'default full-text language', 1049; RECONFIGURE;

  5. Проверьте язык у существующего индекса (запрос из п. 4).

  6. Если у индекса указан не русский язык — пересоздайте индекс, явно указав LANGUAGE 1049 или LANGUAGE Russian.

Насколько полезной была статья?

Что еще посмотреть по SQL Server

Дополнительный заработок для разработчиков на T-SQL

Прямая работа с заказчиками как ИП или самозанятый. Нужно знать только SQL и HTML.
Falcon Space - платформа для создания сайтов с личными кабинетами
В 2-3 раза экономнее и быстрее, чем заказная разработка
Более гибкая, чем коробочные решения и облачные сервисы
Используйте готовые решения и изменяйте под свои потребности
Запрос расчета стоимости веб-проекта на базе Falcon Space
Если видео Youtube плохо грузится, то попробуйте найти видео в ВК видео на канале Falcon Space
Сайт использует Cookie, Яндекс Метрику. Используя сайт, вы соглашаетесь с правилами сайта. См. Правила конфиденциальности и Правила использования сайта OK