Почему бы вам предварительно не обработать ваши данные в сегменты и только представить окончательные результаты в SOLR.Определите фиксированное количество сегментов, увеличенное на 10 за раз, плюс один дополнительный сегмент для чисел за пределами этого диапазона.Например, у вас может быть 3 ведра по 10, которые будут 1-10, 11-20, 21-30 и одно на 31 или больше.Затем либо подсчитайте записи в каждом сегменте, увеличивая интервал на единицу для каждой записи, где ocuppiedDays попадает в интервал, или суммируйте дни, добавляя busyDays каждой записи в соответствующий интервал.Зависит от того, что вы хотите сделать с данными, и правильное решение может даже заключаться в том, чтобы сделать это обоими способами в отдельных полях.
Кстати, 1024 МБ ОЗУ не очень много, чтобы предоставить большую базу данных SOLR,Обычно SOLR сохраняет весь индекс в ОЗУ, и когда вы выполняете поисковые запросы, он также кэширует копию результирующего набора в ОЗУ, которая включает в себя все неиндексированные поля в наборе результатов.Проверьте конфигурацию кэширования в файле solrconfig.xml, поскольку вы можете кэшировать слишком много данных.Кроме того, если у вас много неиндексированных полей, рассмотрите возможность размещения этой информации в отдельном хранилище значений ключей, чтобы они не занимали ОЗУ для кэширования.