TopDocs SearchInternal(Query q, int count, int start) { // Easy path that doesn't involve creating a Collector ourselves // watch for Lucene.NET improvement on that (like searcher.SearchAfter) if (start == 0) { return(searcher.Search(q, count)); } var weight = searcher.CreateWeight(q); // TODO: reuse weight instead of query var collector = TopScoreDocCollector.Create(start + count + 1, false); searcher.Search(q, collector); return(collector.TopDocs(start, count)); }