Что такое Elasticsearch
Тема дорожной карты · Elasticsearch
Elasticsearch — это распределённый поисковый и аналитический движок с открытым исходным кодом, построенный на основе Apache Lucene. Он предназначен для хранения, поиска и анализа больших объёмов данных практически в режиме реального времени. Elasticsearch является ядром Elastic Stack (ранее известного как ELK Stack) и предоставляет RESTful API и основанный на JSON язык запросов Query DSL — всё это используется для решения задач от поиска товаров в интернет-магазинах и анализа логов до корреляции событий безопасности и построения бизнес-аналитических дашбордов в Kibana. Данные хранятся в виде гибко структурированных JSON-документов, организованных в индексы, которые автоматически распределяются по шардам и узлам — это позволяет масштабировать систему горизонтально, добавляя оборудование без остановки работы. Структура данных в виде инвертированного индекса в сочетании с алгоритмом ранжирования BM25 обеспечивает полнотекстовый поиск среди миллиардов документов за доли секунды, поддерживая при этом структурированные запросы, агрегации и геопространственный поиск в рамках одного запроса. Elasticsearch доступен как программное обеспечение с открытым исходным кодом под лицензиями Elastic License и SSPL, в виде самостоятельно управляемого дистрибутива, а также как Elastic Cloud — полностью управляемый сервис от компании Elastic.
Как это работает
Что такое Elasticsearch: Elasticsearch — distributed search + analytics engine на Apache Lucene. Документы хранятся как JSON, индексируются через inverted indices, queries через JSON Query DSL. Elastic Stack (ELK) bundle-ит Elasticsearch + Logstash + Kibana + Beats для log ingestion + визуализации. Распространённые use cases: log/event search (доминирующий), full-text search внутри приложений, real-time аналитика, anomaly detection. По сравнению с SQL: schema-on-write (mappings), eventual consistency, оптимизирован под read-heavy workloads.
Когда применять
Elasticsearch когда нужно: быстрый full-text search (regex/LIKE в Postgres не масштабируются), log aggregation на масштабе, real-time aggregations по high cardinality. Пропускайте: RDBMS-индекс покрывает поиск, нужны strong transactional гарантии, или < ~10GB данных (overhead не оправдан). License note: Elasticsearch перешёл на SSPL/Elastic License v2; OpenSearch (AWS fork, Apache 2.0) — drop-in альтернатива для многих случаев.
Типичные ошибки
Ловушки Что такое Elasticsearch: ES как primary datastore (нет ACID, eventual consistency); деплой ES без реляционной БД как source-of-truth; выбор ES когда Postgres GIN + tsvector работает; смешение ES + OpenSearch кластеров в одном проекте (их API расходятся).
Связанные понятия
Полезные ресурсы
Проверить знания (1)
Загрузка вопросов…