Elasticsearch: поиск, аналитика и архитектура
Этот набор карточек посвящён глубокому изучению Elasticsearch — одного из самых популярных поисковых и аналитических движков, построенного на базе Apache Lucene. Внутри вы разберёте, как устроен Elasticsearch на фундаментальном уровне: inverted index, процесс индексации, анализ текста, работа analyzer’ов, tokenizer’ов и фильтров. Отдельное внимание уделено mapping и типам данных, включая различия между text и keyword, а также управлению схемой и её эволюцией. Вы изучите архитектуру кластера: shard и replica, распределение данных, роли нод (master, data, ingest) и механизмы отказоустойчивости. Разберётесь, как работает near real-time модель консистентности, refresh interval и последствия eventual consistency. Большой блок посвящён поиску: match, term, bool-запросы, relevance scoring (BM25), filter vs query context. Также рассматриваются агрегации (terms, range, histogram), их ограничения и влияние на производительность. Практическая часть охватывает реальные сценарии: full-text поиск, autocomplete, логирование через ELK-стек, фильтрацию и сортировку результатов. Дополнительно вы изучите: - оптимизацию производительности (shards, mapping, типы запросов) - диагностику проблем (slow queries, метрики кластера) - анти-паттерны (использование как primary DB, ошибки в mapping) - ограничения Elasticsearch (отсутствие транзакций, eventual consistency) Этот набор подойдёт разработчикам, готовящимся к собеседованиям, а также тем, кто хочет уверенно использовать Elasticsearch в продакшене.