ИМХО, первым шагом будет денормализация ваших данных .
Например, если у вас есть customer_master с данными о клиенте, product_master с данными о продукте и таблица заказов с customer_id, product_id и деталями заказа, было бы неплохо перенести все из них в одну таблицу и проиндексировать эту таблицу. в одном индексе в ES. Таким образом, вы можете искать заказы по информации о клиенте, продукте или заказе.
Затем можно создать один денормализованный индекс для каждого набора связанных таблиц и проиндексировать их в ES.
15 ГБ не выглядит как много данных. (Мы проиндексировали 300 миллионов строк данных в небольшом кластере ES на основе 4 обычных аппаратных машин. Размер данных был в сотнях ГБ)
Я хотел бы добавить, что не существует идеального способа индексации данных, и вам придется поэкспериментировать с несколькими идеями, прежде чем завершить одну. Если вы используете ES в качестве аналитической платформы (а не в качестве основного источника данных), многократное индексирование данных на этапе эксперимента не должно быть проблемой.
Мои 2 цента.