Если я установлю n = 1000, то будет ли TopDocs.totalHits быть <= n? </p>
Да.С помощью «n» вы определяете, сколько результатов вас интересует. TopDocs.totalHits отражает эффективное число найденных обращений.
Обычно поиск по всему документу не очень полезен, поскольку это может привести к проблемам с производительностью.В дополнение к этому пользователь может не интересоваться всеми результатами -> там, где происходит подкачка или фильтрация.
Если вы хотите найти все результаты, вам нужно работать с Collector и этим методом поиска:
public void search(Query query, Collector results)
На основе вашего коллекционера вы можете получить все результаты поиска или количество совпадений или баллов этих совпадений.