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
