Elasticsearch — Урок 6.6 Кеширование

В Elasticsearch было сделано многое для улучшения кэширования. Доступны различные типы кеша:

Кэш узла (Node Query cache)

Запросы, такие как числовые или диапазоны дат, которые запускаются в контексте фильтра, являются отличными кандидатами для кэширования. Поскольку они не имеют фазы подсчета очков, их можно использовать повторно. Кэш узла — это интеллектуальный кэш; вам не нужно беспокоиться о недействительности кеша. Отдельные запросы, которые запускаются в контексте фильтра, кэшируются без нашего участия. Этот кеш поддерживается на уровне узла и по умолчанию занимает 10% и может быть настроен с использованием elasticsearch.yml:

Кеш запросов (Shard request cache)

Кэш запросов используется для кэширования результатов всего запроса. Кешируются только хиты, агрегация; фактических хитов нет. Результаты кэшируются только в том случае, если размер равен 0. Запрос JSON используется как ключ. Этот вид кеша так же является умным. Кэш автоматически отменяется при появлении новых данных. Для данных, которые не часто меняются, запрос может обслуживаться непосредственно из кеша, избегая тяжелых перерасчетов. Кэш поддерживается на уровне узла и по умолчанию имеет 1% места в память и может быть настроен с использованием elasticsearch.yml:

Главный выигрыш: если данные больше не меняются, запрос может быть получен прям из кеша.