Есть ещё другой вариант - поиск не через елк, а хранение данных (кэша) самой базой в эластике
База это должна уметь, но такое бывает
У меня сейчас в работе такая схема
В итоге если у тебя эластик перед базой - при падении и эластика, и базы ты получаешь даунтайм (если не научил приложение обрабатывать такие случаи)
А если эластик используется самой базой - то падение эластика ничему не вредит в плане аптайма, просто падает производительность
На стороне приложения обрабатывать это не нужно