If you just want to fetch all the matching documents for a given query, implement a collector that just saves the document data.
final ArrayList<Document> docs = new ArrayList<Document>(); searcher.search( query, new HitCollector() { public void collect(int doc, float score) { docs.add(searcher.doc(doc)); } }); See also http://stackoverflow.com/questions/973354/migrating-from-hit-hits-to-topdocs-topdoccollector