For more information on past and future Lucene versions, please see: http://s.apache.org/luceneversions
writer.doXYZ() to writer.get().doXYZ()
(it is also advisable to add an assert writer != null; before you
access the wrapped IndexWriter.)
In addition, MergePolicy only exposes a default constructor, and the one that
took IndexWriter as argument has been removed from all MergePolicy extensions.
   TopFieldCollector tfc = TopFieldCollector.create(sort, numHits, fillFields,
                                                    true /* trackDocScores */,
                                                    true /* trackMaxScore */,
                                                    false /* docsInOrder */);
   searcher.search(query, tfc);
   TopDocs results = tfc.topDocs();
   TopDocsCollector tdc = new TopScoreDocCollector(10);
   Collector c = new PositiveScoresOnlyCollector(tdc);
   searcher.search(query, c);
   TopDocs hits = tdc.topDocs();
   ...