Elasticsearch
Elasticsearch — это поисковый движок, который умеет искать по миллионам документов за миллисекунды. Если обычная база данных ищет по точному совпадению (WHERE name = "кроссовки"), то Elasticsearch понимает «бегательные кросовки найк чёрные» — с опечатками, синонимами и ранжированием по релевантности.
Elasticsearch построен на Apache Lucene — самой мощной библиотеке полнотекстового поиска. Но Lucene — это библиотека для одного сервера. Elasticsearch добавляет распределённость: данные автоматически шардируются по кластеру, запросы параллелятся, отказ одного сервера не роняет поиск.
Помимо поиска, Elasticsearch отлично подходит для аналитики. ELK-стек (Elasticsearch + Logstash + Kibana) — стандарт для сбора и анализа логов. Все логи приложений, nginx, баз данных стекаются в Elasticsearch, а Kibana визуализирует их: графики, дашборды, алерты при аномалиях.
Elasticsearch хранит данные в JSON-документах и не требует жёсткой схемы. Новое поле в документе? Elasticsearch автоматически проиндексирует его. Это делает систему гибкой для быстро меняющихся данных.
Ключевые преимущества
- Полнотекстовый поиск с опечатками, синонимами и ранжированием
- Миллионы документов — поиск за миллисекунды
- ELK-стек: стандарт для логирования и мониторинга
- Распределённый кластер: шардирование и отказоустойчивость
- JSON-документы без жёсткой схемы
Примеры
Поиск по каталогу интернет-магазина: 500 000 товаров, поиск с автодополнением за 20 мс. Анализ логов: ELK собирает 10 ГБ логов в день, Kibana показывает дашборд с ошибками и метриками. Поиск по базе знаний: сотрудники ищут по внутренним документам, регламентам, FAQ — Elasticsearch находит релевантные результаты даже при неточном запросе.
Когда это нужно
Elasticsearch нужен, когда: нужен полнотекстовый поиск по большому каталогу, требуется поиск с автодополнением и исправлением опечаток, вы собираете и анализируете логи (ELK-стек), нужна фасетная фильтрация (цена, бренд, размер одновременно), ищете по неструктурированным данным.
Связанные термины
Частые вопросы
Elasticsearch заменяет PostgreSQL?
Нет. Elasticsearch — для поиска и аналитики, PostgreSQL — для транзакций и бизнес-логики. Типичная схема: данные хранятся в PostgreSQL (source of truth), а при изменении синхронизируются в Elasticsearch для быстрого поиска. Удалять PostgreSQL ради Elasticsearch — плохая идея: у ES нет транзакций, JOIN-ов и строгих гарантий консистентности.
Сколько стоит Elasticsearch?
Open-source — бесплатно (self-hosted). Elastic Cloud: от $95/мес. AWS OpenSearch: от $50/мес. Self-hosted на VPS: от $30/мес за минимальный кластер (3 ноды). Для проектов с менее 100 000 документов можно обойтись полнотекстовым поиском PostgreSQL — он бесплатный и достаточно быстрый.
Где это применяется
DevOps и облачная инфраструктура
Строим инфраструктуру, на которой продукт не падает: CI/CD и деплой в одну кнопку, мониторинг с алертами раньше клиента, Kubernetes только там, где он оправдан, миграция в облако без остановки прода. Базовый контур — от 200 000 ₽ за 2–3 недели, аудит инфраструктуры и демо-пайплайн бесплатно за 3–5 дней. В боевой контур не заходим до договора.
Как мы это делаемПродолжите изучение

