Elasticsearch

Распределённый поисковый и аналитический движок с открытым кодом на Apache Lucene: полнотекстовый, векторный и гибридный поиск, агрегации в реальном времени, 36 языковых анализаторов включая русский. Ядро Elastic Stack для поиска, логов и SIEM-аналитики.

РазработчикElasticsearch

Что такое Elasticsearch

Elasticsearch — это распределённый поисковый и аналитический движок с открытым исходным кодом, построенный на базе Apache Lucene. Если говорить просто, это система, которая умеет молниеносно находить нужное среди гигантских объёмов данных — будь то тексты, логи, метрики или даже векторные представления. Вместо традиционных SQL-запросов он использует REST API и собственный язык запросов, а данные хранит в виде JSON-документов.

Ключевая особенность — горизонтальное масштабирование: вы добавляете узлы в кластер, и Elasticsearch автоматически перераспределяет данные. При этом поиск работает в реальном времени, а не по ночам по расписанию. Именно поэтому Elasticsearch стал стандартом де-факто для поиска по логам, мониторинга и полнотекстового поиска на сайтах — от стартапов до огромных корпораций вроде Netflix и Uber.

Ключевые возможности

  • Полнотекстовый поиск с учётом морфологии — 36 языковых анализаторов, включая качественную поддержку русского языка (стемминг, поиск по словоформам).
  • Векторный поиск — поддержка kNN-запросов для семантического поиска по эмбеддингам и RAG-сценариев.
  • Гибридный поиск — комбинирование классического BM25 с векторным для максимальной релевантности.
  • Агрегации в реальном времени — группировка, статистика и сложные аналитические вычисления без отдельного BI-инструмента.
  • Распределённая архитектура — шардирование, репликация и автоматическое восстановление при сбоях узлов.
  • Elastic Stack — тесная интеграция с Kibana (визуализация), Logstash (сбор данных) и Beats (агенты).
  • SIEM-аналитика — встроенные возможности для анализа безопасности, обнаружения угроз и корреляции событий.
  • REST API — полное управление через HTTP-запросы, поддержка JSON и огромная экосистема клиентов на всех языках.

Кому подойдёт

Elasticsearch закрывает сразу несколько сценариев. Первый и самый распространённый — поиск по сайтам и приложениям: каталоги товаров, документация, корпоративные порталы. Второй — логирование и мониторинг: команды DevOps и SRE используют его для централизованного сбора логов, метрик и алертинга. Третий — аналитика безопасности: SOC-команды строят SIEM-решения для обнаружения вторжений и инцидентов.

Подойдёт и для аналитики в реальном времени: например, дашборды по продажам или пользовательскому поведению, где данные обновляются каждую секунду. Также это основа для RAG-пайплайнов — векторный поиск по базе знаний для LLM-приложений. Если ваши данные измеряются терабайтами и нужен быстрый ответ на сложный запрос — Elasticsearch почти наверняка справится.

Плюсы и минусы

Плюсы:

  • Молниеносная скорость поиска даже на терабайтных объёмах
  • Отличная поддержка русского языка из коробки
  • Гибкое масштабирование — от одного узла до сотен
  • Огромное комьюнити и обилие документации
  • Встроенные агрегации заменяют отдельные BI-инструменты
  • Бесплатная базовая версия с полноценным функционалом

Минусы:

  • Крутая кривая обучения для сложных запросов и настройки
  • Высокое потребление памяти — требует настройки JVM и heap
  • «Проклятие» mapping — изменение схемы данных требует переиндексации
  • Операции по обслуживанию кластера требуют квалификации

Частые вопросы

Чем Elasticsearch отличается от обычной SQL-базы данных?

Elasticsearch не поддерживает транзакции и JOIN-ы в классическом понимании. Но он создан для другого — полнотекстового и аналитического поиска, где важна скорость, а не строгая целостность данных. Для операционных нагрузок с ACID лучше подходят PostgreSQL или MySQL, а Elasticsearch дополняет их поисковыми возможностями.

Нужно ли знать Java для работы с Elasticsearch?

Нет. Управление происходит через REST API, а для работы есть клиенты на Python, Go, JavaScript, PHP и других языках. Java нужна только для глубокой кастомизации плагинов или оптимизации производительности.

Можно ли использовать Elasticsearch бесплатно?

Да, существует открытая базовая лицензия, которая покрывает большинство задач: полнотекстовый поиск, агрегации, Kibana. Платные функции — машинное обучение, расширенная безопасность, оповещения — доступны в подписке, но бесплатной версии обычно хватает для старта.

Что такое индекс и документ в Elasticsearch?

Индекс — это аналог базы данных или коллекции, где хранятся однотипные документы. Документ — единица данных в формате JSON, например, страница товара или запись лога. Elasticsearch автоматически индексирует все поля документа, делая их доступными для поиска.

Часто задаваемые вопросы

Можно ли купить Elasticsearch и Elastic Cloud из России?

Нет. Международная торговая политика Elastic, действующая с 4 сентября 2025 года, прямо относит Россию к санкционным странам и запрещает компании вести любые дела с лицами и организациями в таких странах, а также экспортировать, реэкспортировать и передавать туда продукты и услуги. Требование распространяется на дистрибьюторов, партнёров и конечных заказчиков. Открытый исходный код остаётся публичным, но подписка, Elastic Cloud и техподдержка вендора российским компаниям недоступны — это стоит проверить до того, как строить на платформе продакшн.

Бесплатен ли Elasticsearch?

Да, для self-managed установки есть постоянная бесплатная редакция: Elasticsearch и Kibana, лексический и векторный поиск, сотни интеграций, аутентификация с ролевой моделью и TLS, оркестрация в Kubernetes через ECK, поддержка сообщества. Платными становятся машинное обучение, кросс-кластерная репликация, расширенная безопасность и searchable snapshots — они начинаются с тарифов Platinum и Enterprise. Управляемое облако Elastic Cloud Hosted стартует от $99 в месяц.

Под какой лицензией распространяется Elasticsearch?

Свободная часть исходного кода доступна на выбор под тремя лицензиями: SSPL 1.0, AGPLv3 и Elastic License 2.0. AGPLv3 — одобренная OSI открытая лицензия — добавлена в сентябре 2024 года. До этого, с версии 7.11 в 2021 году, действовала пара SSPL и ELv2, а выпуск сборок под Apache 2.0 был прекращён. Официальные дистрибутивы вендор по-прежнему выпускает под Elastic License.

Чем Elasticsearch отличается от OpenSearch?

OpenSearch — форк Elasticsearch, появившийся после смены лицензии в 2021 году, когда вендор ушёл с Apache 2.0 на SSPL и Elastic License 2.0. С тех пор проекты развиваются независимо. Elastic вернул в 2024 году открытую лицензию AGPLv3 как один из вариантов, но официальные сборки по-прежнему выходят под собственной лицензией, а новые возможности — Agent Builder, Elastic Inference Service, модели ELSER и Jina AI — появляются в Elasticsearch.

Сколько стоит Elastic Cloud?

У вендора три модели. Elastic Cloud Hosted — подписка от $99 в месяц на тарифе Standard, дальше Gold от $114, Platinum от $131 и Enterprise от $184; цифры даны как «as low as» для конфигурации 120 ГБ хранилища и двух зон. Elastic Cloud Serverless тарифицируется по потреблению: от $0,14 за VCU-час индексации, $0,09 за VCU-час поиска, $0,047 за ГБ хранения в месяц, а сам вендор приводит примеры $24 в месяц для тестовой среды и $190 для продакшн-среды на 20 ГБ. Self-managed Platinum и Enterprise — по запросу.

Есть ли пробный период?

Да, Elastic Cloud даёт 14-дневный бесплатный пробный период без обязательств: доступны поисковые сценарии, векторная база, наблюдаемость и безопасность. Отдельно от триала существует бесплатная self-managed редакция, которая не ограничена по времени — её можно скачать и использовать постоянно.

Поддерживает ли Elasticsearch русский язык?

Русский поддерживается на уровне данных: в поставке 36 встроенных языковых анализаторов, и russian среди них — со стеммингом и стоп-словами. А вот интерфейса и документации на русском нет: сайт вендора отдаёт 404 на адресах /ru/, при том что японская версия существует. Русскоязычной техподдержки у Elastic тоже нет.

Какие гарантии доступности и поддержки даёт вендор?

SLA на 99,95 % ежемесячной доступности действует на тарифах Platinum и Enterprise — как в Elastic Cloud Hosted, так и в Serverless. Целевое время первого ответа поддержки различается по тарифам: Standard — 3 рабочих дня и только веб-канал, Gold — 4 рабочих часа на срочные обращения в рабочее время, Platinum — 1 час в режиме 24/7/365, Enterprise — 30 минут. В serverless поддержка тарифицируется процентом от счёта: 5 % на Gold, 10 % на Platinum, 15 % на Enterprise.

Альтернативы Elasticsearch