Добавленный в: v22.2.0
Определяет кодировку входной строки, если она закодирована не в UTF-8.
Эта функция экспериментальная и в будущих релизах может измениться непредсказуемым образом, в том числе с нарушением обратной совместимости.
Установите allow_experimental_nlp_functions = 1, чтобы включить её.
Синтаксис
Аргументы
Возвращаемое значение
Возвращает строку с кодом обнаруженной кодировки символов String
Примеры
Базовое использование
SELECT detectCharset('Ich bleibe für ein paar Tage.')
Добавленный в: v22.2.0
Определяет язык входной строки в кодировке UTF-8.
Для определения функция использует библиотеку CLD2 и возвращает двухбуквенный код языка по ISO.
Чем длиннее входная строка, тем точнее определяется язык.
Эта функция является экспериментальной и в будущих релизах может изменяться непредсказуемым образом, в том числе с нарушением обратной совместимости.
Установите allow_experimental_nlp_functions = 1, чтобы включить её.
Синтаксис
Аргументы
text_to_be_analyzed — Текст для анализа. String
Возвращаемое значение
Возвращает двухбуквенный ISO-код определённого языка. Другие возможные результаты: un = неизвестно, язык определить не удалось; other = у определённого языка нет двухбуквенного кода. String
Примеры
Текст со смешением языков
SELECT detectLanguage('Je pense que je ne parviendrai jamais à parler français comme un natif. Where there\'s a will, there\'s a way.')
Добавленный в: v22.2.0
Подобно функции detectLanguage, detectLanguageMixed возвращает Map с двухбуквенными кодами языков, которым сопоставлена процентная доля соответствующего языка в тексте.
Эта функция является экспериментальной и в будущих релизах может измениться непредсказуемым и обратно несовместимым образом.
Чтобы включить её, установите allow_experimental_nlp_functions = 1.
Синтаксис
Аргументы
Возвращаемое значение
Возвращает Map, где ключи — двухбуквенные ISO-коды, а соответствующие значения — доля текста, определённого как данный язык Map(String, Float32)
Примеры
Смешанные языки
SELECT detectLanguageMixed('二兎を追う者は一兎をも得ず二兎を追う者は一兎をも得ず A vaincre sans peril, on triomphe sans gloire.')
Добавленный в: v22.2.0
Подобно функции detectLanguage, функция detectLanguageUnknown работает со строками, закодированными не в UTF-8.
Используйте эту версию, если ваша кодировка — UTF-16 или UTF-32.
Эта функция экспериментальная и в будущих релизах может изменяться непредсказуемым образом, в том числе с нарушением обратной совместимости.
Чтобы включить её, установите allow_experimental_nlp_functions = 1.
Синтаксис
detectLanguageUnknown('s')
Аргументы
Возвращаемое значение
Возвращает двухбуквенный ISO-код определённого языка. Другие возможные результаты: un = неизвестно, язык определить не удалось; other = у определённого языка нет двухбуквенного кода. String
Примеры
Базовое использование
SELECT detectLanguageUnknown('Ich bleibe für ein paar Tage.')
Добавленный в: v22.2.0
Определяет тональность переданных текстовых данных.
ОграничениеТекущая версия этой функции ограничена тем, что использует встроенный словарь эмоциональной окраски и работает только с русским языком.
Эта функция является экспериментальной и в будущих версиях может измениться непредсказуемым образом с нарушением обратной совместимости.
Установите allow_experimental_nlp_functions = 1, чтобы включить её.
Синтаксис
Аргументы
Возвращаемое значение
Возвращает среднее значение тональности слов в тексте Float32
Примеры
Анализ тональности текста на русском языке
SELECT
detectTonality('Шарик - хороший пёс'),
detectTonality('Шарик - пёс'),
detectTonality('Шарик - плохой пёс')
Добавленный в: v21.9.0
Выполняет лемматизацию указанного слова.
Для работы этой функции требуются словари, которые можно получить на github.
Подробнее о загрузке словаря из локального файла см. на странице “Определение словарей”.
Эта функция является экспериментальной и в будущих релизах может измениться непредсказуемым и обратно несовместимым образом.
Установите allow_experimental_nlp_functions = 1, чтобы включить её.
Синтаксис
Аргументы
lang — Язык, правила которого будут применяться. String
word — Слово в нижнем регистре, которое нужно лемматизировать. String
Возвращаемое значение
Лемматизированная форма слова String
Примеры
Лемматизация английских слов
SELECT lemmatize('en', 'wolves')
Добавленный в: v21.9.0
Выполняет стемминг слова или массива слов с помощью алгоритмов Snowball.
Каждая входная строка должна состоять из одного слова в нижнем регистре — строки, содержащие пробельные символы, вызывают исключение.
Передача символов в верхнем регистре приводит к неопределённым результатам.
Для скалярных входных данных (включая FixedString) возвращает String, а для входных массивов — Array(String).
Поддерживаются варианты Nullable и LowCardinality для типов String и FixedString.
Синтаксис
Аргументы
Возвращаемое значение
Форма основы слова (String) или массив основ слов (Array(String)). String или Array(String)
Примеры
Стемминг одного слова
SELECT stem('blessing', 'en') AS res
Стемминг для массива слов
SELECT stem(['blessing', 'disguise'], 'en') AS res
Стемминг для FixedString
SELECT stem(toFixedString('blessing', 10), 'en') AS res
Стемминг слова типа Nullable
SELECT stem(toNullable('blessing'), 'en') AS res
Добавленный в: v21.9.0
Находит синонимы заданного слова.
Есть два типа расширений синонимов:
Для типа расширения plain необходимо указать путь к обычному текстовому файлу, где каждая строка соответствует определённому набору синонимов.
Слова в строке должны быть разделены пробелами или символами табуляции.
Для типа расширения wordnet необходимо указать путь к каталогу, содержащему тезаурус WordNet.
Тезаурус должен содержать индекс смыслов WordNet.
Эта функция экспериментальная и в будущих версиях может измениться непредсказуемым образом, в том числе с нарушением обратной совместимости.
Чтобы включить её, установите allow_experimental_nlp_functions = 1.
Синтаксис
Аргументы
ext_name — Имя расширения, в котором будет выполняться поиск. String
word — Слово, для которого будет выполняться поиск в расширении. String
Возвращаемое значение
Возвращает массив синонимов для указанного слова. Array(String)
Примеры
Поиск синонимов
SELECT synonyms('list', 'important')
['important','big','critical','crucial']
Последнее изменение 10 июня 2026 г.