Wiki
Web / стек

Elasticsearch — что это простыми словами

Elasticsearch — search-engine на базе Apache Lucene. Full-text search, aggregations, real-time. Основа Kibana, log-аналитики (ELK), site-search.

Elasticsearch — распределённый search-engine и аналитический движок на базе Apache Lucene. Разработан Elastic (Shay Banon) с 2010. С 2021 — SSPL-лицензия (не OSI). AWS форкнул под именем OpenSearch (Apache 2.0). Обе кодовые базы близки.

Что делает: (1) full-text search — inverted index, fuzzy matching, ranking (BM25), (2) aggregations — фасеты, гистограммы, метрики (аналог GROUP BY), (3) real-time indexing — документ доступен через ~1 с после INSERT, (4) schema-less JSON (mappings опциональны).

Экосистема: Kibana (веб-UI — визуализация, дашборды, discovery), Logstash (ETL-пайплайн для логов), Beats (лёгкие агенты на серверах). Вместе — ELK stack, стандарт для log-аналитики до появления Loki и OpenSearch.

Use cases: (1) site-search (Wikipedia, GitHub, StackOverflow под капотом), (2) log-аналитика (Datadog, Elastic Cloud), (3) security-analytics (SIEM), (4) product-search для e-commerce. Слабости: жрёт RAM (heap-heavy), сложная operational-часть на масштабе.

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

Elasticsearch или OpenSearch?
Функционально почти идентичны. Меньше проблем с лицензией → OpenSearch. Хотите enterprise support Elastic — Elasticsearch.
RAM для одного узла?
Минимум 4 ГБ heap + 4 ГБ ОС. Продакшн — 16-32 ГБ на узел, 3+ узла в кластере.

Смотрите также