2 октября 2026 г.
Документы можно искать по словам и смыслу сразу: YDB объединяет поиск в одном SQL-запросе
YDB 26.3 совмещает точные совпадения и поиск по смыслу, чтобы ИИ-ассистент находил нужный документ по обоим признакам.

Номер полиса нужно найти слово в слово, а описание страхового случая понять по смыслу. В YDB 26.3 оба поиска выполняются одним SQL-запросом.
Раньше команда YDB предлагала векторный поиск. В релизе 26.3 разработчики добавили полнотекстовый поиск с ранжированием и гибридный поиск, а также доработали фильтруемый векторный индекс. Для ИИ-ассистента с RAG это способ искать документы, где важны и точный идентификатор, и смысл вопроса.
Как включить поиск
Два индекса. На одной таблице нужны fulltext_relevance для текста и vector_kmeans_tree для embedding. Официальная инструкция Hybrid search содержит создание таблицы, команды добавления обоих индексов и поисковый запрос. Полнотекстовый индекс для документов на русском включается так:
```sql ALTER TABLE documents ADD INDEX ft_idx GLOBAL USING fulltext_relevance ON (body) WITH (tokenizer=standard, use_filter_lowercase=true, use_filter_snowball=true, language=russian); ```
Гибридный запрос объединяет результаты через `ORDER BY HybridRank(FullTextScore(text, $queryText), Knn::CosineDistance(embedding, $queryVector)) LIMIT 10`. YDB выбирает индексы автоматически, поэтому `VIEW` здесь не нужен. Для отдельного полнотекстового поиска нужны `FROM articles VIEW ft_index`, условие `WHERE FulltextScore(body, запрос) > 0` и сортировка `ORDER BY relevance DESC`: без `VIEW` запрос завершится ошибкой.
Запись без рассинхронизации. YDB обновляет данные и оба индекса в одной транзакции. После записи полнотекстовый поиск остаётся точным, а векторный ищет приближённо.
Как настроить выдачу
HybridRank по умолчанию объединяет списки методом RRF с параметром K=60 и одинаковым весом 1,0 для каждой ветви. Для выдачи из 10 результатов каждая ветвь сначала набирает 100 кандидатов. Размеры этих списков задаются через `Limits`.
Фильтры, которые не входят в префикс индекса, YDB применяет после объединения списков, поэтому результатов может оказаться меньше заданного `LIMIT`. Для расширения списков кандидатов предусмотрены `AS Limits` и `PRAGMA ydb.HybridSearchFactor`.
Для проверки качества на наборе MS MARCO документация предлагает готовый `quality-bundle.tar`. После скачивания и распаковки идут `ydb workload fulltext init`, `import files` и `run select --quality`. Проверка измеряет качество первых 10 результатов через nDCG@10 и время ответа для обычных и медленных запросов.
Полнотекстовый и гибридный поиск доступны в open source. С 23 сентября они также работают в Yandex Managed Service for YDB, включая Serverless со стартовым тарифом, и в коммерческой сборке для установки внутри компании.
15 октября Александр Зевайкин проведёт вебинар со сборкой поискового приложения за час и подключением к ИИ-ассистенту через RAG на бесплатном тарифе.
Первоисточник