code: private void getHits() throws IOException
     {
        TopFieldCollector collector = TopFieldCollector.create(sort, numHits, false, true, false, false);
        searcher.search(query, collector);
  
        this.size = collector.getTotalHits();
        ScoreDoc[] docs = collector.topDocs().scoreDocs;
        for (int i = scoreDocs.size(); i < docs.length; i++)
        {
           scoreDocs.add(docs[i]);
        }
        log.debug("getHits() {}/{}", scoreDocs.size(), numHits);
        // double hits for next round
        numHits *= 2;
     }
docs: -------------------------------< internal >-------------------------------