RediSearch

Тема дорожной карты · Redis

RediSearch — модуль Redis Stack, привносящий полнотекстовый поиск, вторичное индексирование и векторный поиск по сходству непосредственно в in-memory хранилище, устраняя необходимость в отдельном поисковом движке, например Elasticsearch, для многих рабочих нагрузок. Вы определяете схему с помощью FT.CREATE, указывая текстовые, числовые, теговые и гео-поля по существующим хэшам Redis или документам RedisJSON, и RediSearch строит инвертированный индекс по ним полностью в памяти. Запросы выполняются через FT.SEARCH с использованием богатого синтаксиса, поддерживающего нечёткое совпадение, префиксные подстановочные знаки, булевы операторы и сортировку по числовым полям — всё с субмиллисекундной задержкой, характерной для Redis. RediSearch также поддерживает векторный поиск с типом поля VECTOR, обеспечивая семантические запросы по сходству над эмбеддингами, хранящимися рядом с другими полями документа в распределённом кэше. Команды, создающие каталоги электронной коммерции, API автодополнения или системы поиска с AI-поддержкой, часто выбирают RediSearch, поскольку он объединяет быстрое кэширование и индексирование в едином развёртывании Redis Stack.

Как это работает

RediSearch пакетирует Redis-core с extension-модулями, превращая Redis в multi-model БД: RedisJSON (нативный JSON-document с JSONPath), RediSearch (full-text + secondary indexing + vector search), RedisTimeSeries (downsampling, retention, aggregation для time-series), RedisGraph (deprecated, см. FalkorDB), RedisBloom (probabilistic structures). Доступно как Docker-образ (redis/redis-stack) или отдельно установленные модули.

Когда применять

RedisJSON + RediSearch — когда нужен быстрый search/filter на JSON-данных и Postgres + Elasticsearch выглядит тяжело. RedisTimeSeries — для метрик с retention. Для vector search (RAG, рекомендации) RediSearch v2 поддерживает HNSW-индексы — конкурентен Pinecone на маленьких датасетах. Учитывайте лицензионные изменения (RSAL/SSPL с 2024); Valkey — BSD-форк.

Типичные ошибки

Ловушки RediSearch: расчёт, что Stack-модули — часть Redis OSS (нет — отдельная лицензия, отдельные бинари); rebuild индексов RediSearch медленный на больших датасетах (планируйте capacity); managed cloud не всегда поддерживает Stack-модули (проверьте до зависимости); RedisGraph (deprecated Redis Inc., поддерживается как FalkorDB).

Связанные понятия

Полезные ресурсы