Хммм, учитывая, что вы обнаружили проблемы, когда ваш код "get" был перемещен за пределы коллектора, похоже, что ваша проблема связана с вводом / выводом.
Я почти боюсь спросить это, учитывая размер вашего индекса, но вы пробовали:
- Оптимизация индекса
- Дефрагментация вашего жесткого диска
Если да, было ли заметное влияние на скорость получения документов? Кстати, я получаю 2333 предметов / секунду, если мои шаткие математики верны ...
Кроме того, для поднабора полей, которые вы извлекаете, поддаются ли какие-либо из них сжатию? Или вы уже экспериментировали со сжатием?
В связи с этим, какую долю вашего индекса составляют 700 тысяч позиций? Было бы интересно почувствовать пропускную способность ввода / вывода. Вероятно, вы могли бы определить максимальную теоретическую скорость передачи данных для комбинации вашего компьютера и жесткого диска и посмотреть, приблизились ли вы к пределу.