Вы на правильных линиях.
Попробуйте использовать SetBasedFieldSelector
при извлечении документа из индекса.
Как заметил другой автор, итерация попаданий вернет объект ScoreDoc
. Это даст вам идентификатор документа, который можно использовать для извлечения документа с использованием IndexReader, связанного с IndexSearcher
.
Если IO является проблемой из-за загрузки полей, которые вас не интересуют, вас ждет приятный сюрприз.
Надеюсь, это поможет,