Это сильно зависит от вашей инфраструктуры. Если вы запустите один узел с 50 осколками, запрос будет выполняться дольше, чем с одним осколком. Если у вас есть 50 узлов, каждый из которых содержит один осколок, он, скорее всего, будет работать быстрее, чем один узел с 1 осколком (если у вас большой набор данных). В конце вы должны проверить реальные данные, чтобы быть уверенным.
При большом количестве полей у ES возникает проблема с производительностью, и ошибки более вероятны. Основная проблема заключается в том, что каждое поле должно храниться в состоянии кластера, что сказывается на вашем главном узле (ах). Кроме того, во многих случаях вам приходится работать с большим количеством разреженных данных (90% пустых полей).
Как правило, один осколок должен содержать от 30 до 50 ГБ данных. Я бы не стал слишком беспокоиться о перегрузке осколков в вашем сценарии использования. Все наоборот.
Я предлагаю протестировать ваш вариант использования с меньшим количеством осколков, перейдите к 1 осколку, 1 реплике для вашего индекса. Затраты на поиск по нескольким шардам (5 первичных, умноженные на реплики) и последующем объединении результатов огромны по сравнению с вашим небольшим набором данных.
Имейте в виду, что поведение document_type изменилось и будет меняться дальше. Начиная с 6.X вы можете иметь только один document_type для каждого индекса, начиная с 7.X document_type полностью удаляется Поскольку API прослушивает _doc, _doc - это рекомендуемый тип документа для использования в 6.X. Перейдите к одному индексу для каждого типа или введите новое поле, в котором хранится ваш тип, если вам нужны данные в одном индексе.