Если много ищите по данным возможно вам elastic стоит поверх накрутить, индексы посносить. Но перед любыми переделками я бы удостоверился, что проблема именно в этом. Например в песочнице снес бы все лишние индексы и посмотрел бы как ведёт себя приложение.
Вообще "это черновая БД" в которую собирается вся информация, которую находит парсер, затем эта информация дополняется, обновляется по найденной дополнительной информации. Из этой базы уже будет строиться рабочая БД, в которой проставлены все связи и все структурировано. Рабочая БД будет загоняться в elastic. Пока примерно так