На счет кешей: вообще говоря они есть, просто называются маппингом. Видимо вы его не настроили. Смотрите доку по маппингу индексов, по умолчанию он тоже создается, но далеко не всегда оптимально. Поля, для которых поиск не нужен - не индексируйте. Там, где можно оптимизировать сам индекс, например таймстамп стоит явно индексировать как дату по шаблону, а не просто строку, мультиязычный поиск со склонениями стоит оставить только там, где это реально необходимо и т.д.
Эластик - это не серебрянная пуля и не ИИ, он умеет пдстраиваться под данные, но эфективней это слелать самостоятельно.
Так же не забудьте поковырять вармеры.