4000 вложенных полей звучит как много - на вашем месте я бы долго и пристально смотрел на ваш картографический дизайн, чтобы быть уверенным, что вам действительно нужно столько вложенных полей.
Цитирование из документов :
Internally, nested objects index each object in the array as a separate hidden document.
Поскольку документ должен быть полностью переиндексирован при обновлении, вы индексируете 4000 документов за одно обновление.
Почему так много полей?
Причина, по которой вы указали в комментариях необходимость столь большого количества полей
I'd like to search comments in nested and come with their parent stream for display.
, заставляет меня думать, что вы можете смешивать две проблемы здесь.
ElasticSearch предназначен для поиска, и ваше отображение должно быть оптимизировано для поиска.Если ваша форма отображения определяется способом отображения информации, значит, что-то не так.
Создайте свой индекс для поиска
Обратите внимание, что под "поиском" яозначают как индексирование, так и запросы.
Для имеющегося варианта использования кажется, что вы могли бы:
- Индексировать только комментарии со ссылкой (некоторый идентификатор) на родительский потокв индексированном документе
comment
. - После того, как вы вернете результаты поиска (список комментариев) из индекса поиска, вы можете извлечь каждый комментарий вместе с его родительским потоком из какого-либо другого источника данных (например,реляционная база данных).
Дело в том, что может быть гораздо эффективнее повторно получить комментарий вместе с тем, что вы хотите от другого источника, который лучше, чем ElasticSearch, при объединении данных.