You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by rm...@apache.org on 2011/12/12 01:21:45 UTC

svn commit: r1213117 [1/3] - in /lucene/dev/trunk: lucene/ lucene/contrib/demo/src/java/org/apache/lucene/demo/ lucene/contrib/highlighter/src/test/org/apache/lucene/search/highlight/ lucene/contrib/memory/src/test/org/apache/lucene/index/memory/ lucen...

Author: rmuir
Date: Mon Dec 12 00:21:40 2011
New Revision: 1213117

URL: http://svn.apache.org/viewvc?rev=1213117&view=rev
Log:
LUCENE-3640: Remove IndexSearcher.close

Modified:
    lucene/dev/trunk/lucene/CHANGES.txt
    lucene/dev/trunk/lucene/contrib/demo/src/java/org/apache/lucene/demo/SearchFiles.java
    lucene/dev/trunk/lucene/contrib/highlighter/src/test/org/apache/lucene/search/highlight/HighlighterPhraseTest.java
    lucene/dev/trunk/lucene/contrib/highlighter/src/test/org/apache/lucene/search/highlight/HighlighterTest.java
    lucene/dev/trunk/lucene/contrib/highlighter/src/test/org/apache/lucene/search/highlight/TokenSourcesTest.java
    lucene/dev/trunk/lucene/contrib/memory/src/test/org/apache/lucene/index/memory/MemoryIndexTest.java
    lucene/dev/trunk/lucene/contrib/sandbox/src/test/org/apache/lucene/sandbox/queries/DuplicateFilterTest.java
    lucene/dev/trunk/lucene/contrib/sandbox/src/test/org/apache/lucene/sandbox/queries/FuzzyLikeThisQueryTest.java
    lucene/dev/trunk/lucene/contrib/sandbox/src/test/org/apache/lucene/sandbox/queries/TestSlowCollationMethods.java
    lucene/dev/trunk/lucene/contrib/sandbox/src/test/org/apache/lucene/sandbox/queries/regex/TestRegexQuery.java
    lucene/dev/trunk/lucene/contrib/sandbox/src/test/org/apache/lucene/sandbox/queries/regex/TestSpanRegexQuery.java
    lucene/dev/trunk/lucene/contrib/spatial/src/test/org/apache/lucene/spatial/tier/TestCartesian.java
    lucene/dev/trunk/lucene/src/java/org/apache/lucene/search/IndexSearcher.java
    lucene/dev/trunk/lucene/src/test-framework/java/org/apache/lucene/analysis/CollationTestBase.java
    lucene/dev/trunk/lucene/src/test-framework/java/org/apache/lucene/index/ThreadedIndexingAndSearchingTestCase.java
    lucene/dev/trunk/lucene/src/test-framework/java/org/apache/lucene/search/CheckHits.java
    lucene/dev/trunk/lucene/src/test-framework/java/org/apache/lucene/search/QueryUtils.java
    lucene/dev/trunk/lucene/src/test-framework/java/org/apache/lucene/util/LuceneTestCase.java
    lucene/dev/trunk/lucene/src/test/org/apache/lucene/TestDemo.java
    lucene/dev/trunk/lucene/src/test/org/apache/lucene/TestExternalCodecs.java
    lucene/dev/trunk/lucene/src/test/org/apache/lucene/TestSearch.java
    lucene/dev/trunk/lucene/src/test/org/apache/lucene/TestSearchForDuplicates.java
    lucene/dev/trunk/lucene/src/test/org/apache/lucene/document/TestDocument.java
    lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestBackwardsCompatibility.java
    lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestBinaryTerms.java
    lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestCodecs.java
    lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestCrashCausesCorruptIndex.java
    lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestDeletionPolicy.java
    lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestForTooMuchCloning.java
    lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestIndexReaderReopen.java
    lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestIndexWriter.java
    lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestIndexWriterCommit.java
    lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestIndexWriterDelete.java
    lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestIndexWriterOnDiskFull.java
    lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestIndexWriterReader.java
    lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestLazyProxSkipping.java
    lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestNRTThreads.java
    lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestOmitTf.java
    lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestParallelReader.java
    lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestReaderClosed.java
    lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestStressIndexing.java
    lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestTermsEnum2.java
    lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/codecs/lucene3x/TestTermInfosReaderIndex.java
    lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/codecs/perfield/TestPerFieldPostingsFormat.java
    lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestAutomatonQuery.java
    lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestAutomatonQueryUnicode.java
    lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestBoolean2.java
    lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestBooleanMinShouldMatch.java
    lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestBooleanOr.java
    lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestBooleanQuery.java
    lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestBooleanScorer.java
    lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestCachingWrapperFilter.java
    lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestConstantScoreQuery.java
    lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestDateFilter.java
    lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestDateSort.java
    lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestDisjunctionMaxQuery.java
    lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestDocIdSet.java
    lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestDocValuesScoring.java
    lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestElevationComparator.java
    lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestExplanations.java
    lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestFieldCacheRangeFilter.java
    lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestFieldCacheTermsFilter.java
    lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestFieldValueFilter.java
    lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestFilteredQuery.java
    lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestFilteredSearch.java
    lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestFuzzyQuery.java
    lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestFuzzyQuery2.java
    lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestMatchAllDocsQuery.java
    lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestMultiPhraseQuery.java
    lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestMultiTermConstantScore.java
    lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestMultiValuedNumericRangeQuery.java
    lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestNot.java
    lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestNumericRangeQuery32.java
    lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestNumericRangeQuery64.java
    lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestPhrasePrefixQuery.java
    lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestPhraseQuery.java
    lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestPositionIncrement.java
    lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestPositiveScoresOnlyCollector.java
    lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestPrefixFilter.java
    lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestPrefixInBooleanQuery.java
    lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestPrefixQuery.java
    lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestPrefixRandom.java
    lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestQueryWrapperFilter.java
    lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestRegexpQuery.java
    lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestRegexpRandom.java
    lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestRegexpRandom2.java
    lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestScoreCachingWrappingScorer.java
    lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestScorerPerf.java
    lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestSearchAfter.java
    lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestSearchWithThreads.java
    lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestSimilarity.java
    lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestSimilarityProvider.java
    lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestSloppyPhraseQuery.java
    lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestSort.java
    lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestSubScorerFreqs.java
    lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestTermRangeFilter.java
    lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestTermRangeQuery.java
    lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestTermScorer.java
    lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestTermVectors.java
    lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestTimeLimitingCollector.java
    lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestTopDocsCollector.java
    lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestTopDocsMerge.java
    lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestTopScoreDocCollector.java
    lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestWildcard.java
    lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestWildcardRandom.java
    lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/payloads/TestPayloadNearQuery.java
    lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/payloads/TestPayloadTermQuery.java
    lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/similarities/TestSimilarity2.java
    lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/similarities/TestSimilarityBase.java
    lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/spans/TestBasics.java
    lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/spans/TestFieldMaskingSpanQuery.java
    lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/spans/TestNearSpansOrdered.java
    lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/spans/TestPayloadSpans.java
    lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/spans/TestSpanFirstQuery.java
    lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/spans/TestSpanMultiTermQueryWrapper.java
    lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/spans/TestSpans.java
    lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/spans/TestSpansAdvanced.java
    lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/spans/TestSpansAdvanced2.java
    lucene/dev/trunk/lucene/src/test/org/apache/lucene/store/TestBufferedIndexInput.java
    lucene/dev/trunk/lucene/src/test/org/apache/lucene/store/TestLockFactory.java
    lucene/dev/trunk/lucene/src/test/org/apache/lucene/store/TestRAMDirectory.java
    lucene/dev/trunk/lucene/src/test/org/apache/lucene/store/TestWindowsMMap.java
    lucene/dev/trunk/modules/analysis/common/src/test/org/apache/lucene/analysis/core/TestKeywordAnalyzer.java
    lucene/dev/trunk/modules/analysis/common/src/test/org/apache/lucene/analysis/shingle/ShingleAnalyzerWrapperTest.java
    lucene/dev/trunk/modules/benchmark/src/java/org/apache/lucene/benchmark/byTask/PerfRunData.java
    lucene/dev/trunk/modules/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/ReadTask.java
    lucene/dev/trunk/modules/benchmark/src/java/org/apache/lucene/benchmark/quality/trec/QueryDriver.java
    lucene/dev/trunk/modules/benchmark/src/test/org/apache/lucene/benchmark/byTask/feeds/DocMakerTest.java
    lucene/dev/trunk/modules/benchmark/src/test/org/apache/lucene/benchmark/byTask/feeds/LineDocSourceTest.java
    lucene/dev/trunk/modules/benchmark/src/test/org/apache/lucene/benchmark/quality/TestQualityRun.java
    lucene/dev/trunk/modules/facet/src/test/org/apache/lucene/facet/FacetTestBase.java
    lucene/dev/trunk/modules/facet/src/test/org/apache/lucene/facet/FacetTestUtils.java
    lucene/dev/trunk/modules/facet/src/test/org/apache/lucene/facet/search/DrillDownTest.java
    lucene/dev/trunk/modules/facet/src/test/org/apache/lucene/facet/search/TestMultipleCategoryLists.java
    lucene/dev/trunk/modules/facet/src/test/org/apache/lucene/facet/search/association/AssociationsFacetRequestTest.java
    lucene/dev/trunk/modules/facet/src/test/org/apache/lucene/facet/util/TestScoredDocIDsUtils.java
    lucene/dev/trunk/modules/grouping/src/test/org/apache/lucene/search/grouping/AllGroupHeadsCollectorTest.java
    lucene/dev/trunk/modules/grouping/src/test/org/apache/lucene/search/grouping/TestGrouping.java
    lucene/dev/trunk/modules/join/src/test/org/apache/lucene/search/join/TestBlockJoin.java
    lucene/dev/trunk/modules/queries/src/test/org/apache/lucene/queries/ChainedFilterTest.java
    lucene/dev/trunk/modules/queries/src/test/org/apache/lucene/queries/TestCustomScoreQuery.java
    lucene/dev/trunk/modules/queries/src/test/org/apache/lucene/queries/function/TestFieldScoreQuery.java
    lucene/dev/trunk/modules/queries/src/test/org/apache/lucene/queries/function/TestOrdValues.java
    lucene/dev/trunk/modules/queries/src/test/org/apache/lucene/queries/mlt/TestMoreLikeThis.java
    lucene/dev/trunk/modules/queryparser/src/test/org/apache/lucene/queryparser/classic/TestMultiFieldQueryParser.java
    lucene/dev/trunk/modules/queryparser/src/test/org/apache/lucene/queryparser/complexPhrase/TestComplexPhraseQuery.java
    lucene/dev/trunk/modules/queryparser/src/test/org/apache/lucene/queryparser/flexible/standard/TestMultiFieldQPHelper.java
    lucene/dev/trunk/modules/queryparser/src/test/org/apache/lucene/queryparser/flexible/standard/TestNumericQueryParser.java
    lucene/dev/trunk/modules/queryparser/src/test/org/apache/lucene/queryparser/flexible/standard/TestQPHelper.java
    lucene/dev/trunk/modules/queryparser/src/test/org/apache/lucene/queryparser/surround/query/BooleanQueryTst.java
    lucene/dev/trunk/modules/queryparser/src/test/org/apache/lucene/queryparser/util/QueryParserTestBase.java
    lucene/dev/trunk/modules/queryparser/src/test/org/apache/lucene/queryparser/xml/TestParser.java
    lucene/dev/trunk/modules/queryparser/src/test/org/apache/lucene/queryparser/xml/TestQueryTemplateManager.java
    lucene/dev/trunk/modules/suggest/src/java/org/apache/lucene/search/spell/SpellChecker.java
    lucene/dev/trunk/solr/core/src/java/org/apache/solr/search/SolrIndexSearcher.java
    lucene/dev/trunk/solr/core/src/test/org/apache/solr/handler/TestReplicationHandler.java
    lucene/dev/trunk/solr/core/src/test/org/apache/solr/search/TestSort.java

Modified: lucene/dev/trunk/lucene/CHANGES.txt
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/CHANGES.txt?rev=1213117&r1=1213116&r2=1213117&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/CHANGES.txt (original)
+++ lucene/dev/trunk/lucene/CHANGES.txt Mon Dec 12 00:21:40 2011
@@ -222,6 +222,10 @@ Changes in backwards compatibility polic
   FilterIndexReader, overriding FilterIndexReader.norms(). To persist the
   changes on disk, copy the FilteredIndexReader to a new index using
   IndexWriter.addIndexes().  (Uwe Schindler, Robert Muir)
+
+* LUCENE-3640: Removed IndexSearcher.close(), because IndexSearcher no longer
+  takes a Directory and no longer "manages" IndexReaders, it is a no-op.
+  (Robert Muir)
   
 Changes in Runtime Behavior
 

Modified: lucene/dev/trunk/lucene/contrib/demo/src/java/org/apache/lucene/demo/SearchFiles.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/contrib/demo/src/java/org/apache/lucene/demo/SearchFiles.java?rev=1213117&r1=1213116&r2=1213117&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/contrib/demo/src/java/org/apache/lucene/demo/SearchFiles.java (original)
+++ lucene/dev/trunk/lucene/contrib/demo/src/java/org/apache/lucene/demo/SearchFiles.java Mon Dec 12 00:21:40 2011
@@ -131,7 +131,6 @@ public class SearchFiles {
         break;
       }
     }
-    searcher.close();
     reader.close();
   }
 

Modified: lucene/dev/trunk/lucene/contrib/highlighter/src/test/org/apache/lucene/search/highlight/HighlighterPhraseTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/contrib/highlighter/src/test/org/apache/lucene/search/highlight/HighlighterPhraseTest.java?rev=1213117&r1=1213116&r2=1213117&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/contrib/highlighter/src/test/org/apache/lucene/search/highlight/HighlighterPhraseTest.java (original)
+++ lucene/dev/trunk/lucene/contrib/highlighter/src/test/org/apache/lucene/search/highlight/HighlighterPhraseTest.java Mon Dec 12 00:21:40 2011
@@ -72,26 +72,21 @@ public class HighlighterPhraseTest exten
     try {
       assertEquals(1, indexReader.numDocs());
       final IndexSearcher indexSearcher = newSearcher(indexReader);
-      try {
-        final PhraseQuery phraseQuery = new PhraseQuery();
-        phraseQuery.add(new Term(FIELD, "fox"));
-        phraseQuery.add(new Term(FIELD, "jumped"));
-        phraseQuery.setSlop(0);
-        TopDocs hits = indexSearcher.search(phraseQuery, 1);
-        assertEquals(1, hits.totalHits);
-        final Highlighter highlighter = new Highlighter(
-            new SimpleHTMLFormatter(), new SimpleHTMLEncoder(),
-            new QueryScorer(phraseQuery));
-
-        final TokenStream tokenStream = TokenSources
-            .getTokenStream(indexReader.getTermVector(
-                0, FIELD), false);
-        assertEquals(highlighter.getBestFragment(new TokenStreamConcurrent(),
-            TEXT), highlighter.getBestFragment(tokenStream, TEXT));
-
-      } finally {
-        indexSearcher.close();
-      }
+      final PhraseQuery phraseQuery = new PhraseQuery();
+      phraseQuery.add(new Term(FIELD, "fox"));
+      phraseQuery.add(new Term(FIELD, "jumped"));
+      phraseQuery.setSlop(0);
+      TopDocs hits = indexSearcher.search(phraseQuery, 1);
+      assertEquals(1, hits.totalHits);
+      final Highlighter highlighter = new Highlighter(
+          new SimpleHTMLFormatter(), new SimpleHTMLEncoder(),
+          new QueryScorer(phraseQuery));
+
+      final TokenStream tokenStream = TokenSources
+          .getTokenStream(indexReader.getTermVector(
+              0, FIELD), false);
+      assertEquals(highlighter.getBestFragment(new TokenStreamConcurrent(),
+          TEXT), highlighter.getBestFragment(tokenStream, TEXT));
     } finally {
       indexReader.close();
       directory.close();
@@ -120,52 +115,48 @@ public class HighlighterPhraseTest exten
     try {
       assertEquals(1, indexReader.numDocs());
       final IndexSearcher indexSearcher = newSearcher(indexReader);
-      try {
-        final Query phraseQuery = new SpanNearQuery(new SpanQuery[] {
-            new SpanTermQuery(new Term(FIELD, "fox")),
-            new SpanTermQuery(new Term(FIELD, "jumped")) }, 0, true);
-        final FixedBitSet bitset = new FixedBitSet(indexReader.maxDoc());
-        indexSearcher.search(phraseQuery, new Collector() {
-          private int baseDoc;
-
-          @Override
-          public boolean acceptsDocsOutOfOrder() {
-            return true;
-          }
-
-          @Override
-          public void collect(int i) throws IOException {
-            bitset.set(this.baseDoc + i);
-          }
-
-          @Override
-          public void setNextReader(AtomicReaderContext context)
-              throws IOException {
-            this.baseDoc = context.docBase;
-          }
-
-          @Override
-          public void setScorer(org.apache.lucene.search.Scorer scorer)
-              throws IOException {
-            // Do Nothing
-          }
-        });
-        assertEquals(1, bitset.cardinality());
-        final int maxDoc = indexReader.maxDoc();
-        final Highlighter highlighter = new Highlighter(
-            new SimpleHTMLFormatter(), new SimpleHTMLEncoder(),
-            new QueryScorer(phraseQuery));
-        for (int position = bitset.nextSetBit(0); position >= 0 && position < maxDoc-1; position = bitset
-            .nextSetBit(position + 1)) {
-          assertEquals(0, position);
-          final TokenStream tokenStream = TokenSources.getTokenStream(
-              indexReader.getTermVector(position,
-                  FIELD), false);
-          assertEquals(highlighter.getBestFragment(new TokenStreamConcurrent(),
-              TEXT), highlighter.getBestFragment(tokenStream, TEXT));
+      final Query phraseQuery = new SpanNearQuery(new SpanQuery[] {
+          new SpanTermQuery(new Term(FIELD, "fox")),
+          new SpanTermQuery(new Term(FIELD, "jumped")) }, 0, true);
+      final FixedBitSet bitset = new FixedBitSet(indexReader.maxDoc());
+      indexSearcher.search(phraseQuery, new Collector() {
+        private int baseDoc;
+
+        @Override
+        public boolean acceptsDocsOutOfOrder() {
+          return true;
         }
-      } finally {
-        indexSearcher.close();
+
+        @Override
+        public void collect(int i) throws IOException {
+          bitset.set(this.baseDoc + i);
+        }
+
+        @Override
+        public void setNextReader(AtomicReaderContext context)
+            throws IOException {
+          this.baseDoc = context.docBase;
+        }
+
+        @Override
+        public void setScorer(org.apache.lucene.search.Scorer scorer)
+            throws IOException {
+          // Do Nothing
+        }
+      });
+      assertEquals(1, bitset.cardinality());
+      final int maxDoc = indexReader.maxDoc();
+      final Highlighter highlighter = new Highlighter(
+          new SimpleHTMLFormatter(), new SimpleHTMLEncoder(),
+          new QueryScorer(phraseQuery));
+      for (int position = bitset.nextSetBit(0); position >= 0 && position < maxDoc-1; position = bitset
+          .nextSetBit(position + 1)) {
+        assertEquals(0, position);
+        final TokenStream tokenStream = TokenSources.getTokenStream(
+            indexReader.getTermVector(position,
+                FIELD), false);
+        assertEquals(highlighter.getBestFragment(new TokenStreamConcurrent(),
+            TEXT), highlighter.getBestFragment(tokenStream, TEXT));
       }
     } finally {
       indexReader.close();
@@ -195,25 +186,21 @@ public class HighlighterPhraseTest exten
     try {
       assertEquals(1, indexReader.numDocs());
       final IndexSearcher indexSearcher = newSearcher(indexReader);
-      try {
-        final PhraseQuery phraseQuery = new PhraseQuery();
-        phraseQuery.add(new Term(FIELD, "did"));
-        phraseQuery.add(new Term(FIELD, "jump"));
-        phraseQuery.setSlop(0);
-        TopDocs hits = indexSearcher.search(phraseQuery, 1);
-        assertEquals(0, hits.totalHits);
-        final Highlighter highlighter = new Highlighter(
-            new SimpleHTMLFormatter(), new SimpleHTMLEncoder(),
-            new QueryScorer(phraseQuery));
-        final TokenStream tokenStream = TokenSources
-            .getTokenStream(indexReader.getTermVector(
-                0, FIELD), false);
-        assertEquals(
-            highlighter.getBestFragment(new TokenStreamSparse(), TEXT),
-            highlighter.getBestFragment(tokenStream, TEXT));
-      } finally {
-        indexSearcher.close();
-      }
+      final PhraseQuery phraseQuery = new PhraseQuery();
+      phraseQuery.add(new Term(FIELD, "did"));
+      phraseQuery.add(new Term(FIELD, "jump"));
+      phraseQuery.setSlop(0);
+      TopDocs hits = indexSearcher.search(phraseQuery, 1);
+      assertEquals(0, hits.totalHits);
+      final Highlighter highlighter = new Highlighter(
+          new SimpleHTMLFormatter(), new SimpleHTMLEncoder(),
+          new QueryScorer(phraseQuery));
+      final TokenStream tokenStream = TokenSources
+          .getTokenStream(indexReader.getTermVector(
+              0, FIELD), false);
+      assertEquals(
+          highlighter.getBestFragment(new TokenStreamSparse(), TEXT),
+          highlighter.getBestFragment(tokenStream, TEXT));
     } finally {
       indexReader.close();
       directory.close();
@@ -241,23 +228,19 @@ public class HighlighterPhraseTest exten
     try {
       assertEquals(1, indexReader.numDocs());
       final IndexSearcher indexSearcher = newSearcher(indexReader);
-      try {
-        final PhraseQuery phraseQuery = new PhraseQuery();
-        phraseQuery.add(new Term(FIELD, "did"));
-        phraseQuery.add(new Term(FIELD, "jump"));
-        phraseQuery.setSlop(1);
-        TopDocs hits = indexSearcher.search(phraseQuery, 1);
-        assertEquals(1, hits.totalHits);
-        final Highlighter highlighter = new Highlighter(
-            new SimpleHTMLFormatter(), new SimpleHTMLEncoder(),
-            new QueryScorer(phraseQuery));
-        final TokenStream tokenStream = TokenSources.getTokenStream(
-            indexReader.getTermVector(0, FIELD), true);
-        assertEquals("the fox <B>did</B> not <B>jump</B>", highlighter
-            .getBestFragment(tokenStream, TEXT));
-      } finally {
-        indexSearcher.close();
-      }
+      final PhraseQuery phraseQuery = new PhraseQuery();
+      phraseQuery.add(new Term(FIELD, "did"));
+      phraseQuery.add(new Term(FIELD, "jump"));
+      phraseQuery.setSlop(1);
+      TopDocs hits = indexSearcher.search(phraseQuery, 1);
+      assertEquals(1, hits.totalHits);
+      final Highlighter highlighter = new Highlighter(
+          new SimpleHTMLFormatter(), new SimpleHTMLEncoder(),
+          new QueryScorer(phraseQuery));
+      final TokenStream tokenStream = TokenSources.getTokenStream(
+          indexReader.getTermVector(0, FIELD), true);
+      assertEquals("the fox <B>did</B> not <B>jump</B>", highlighter
+          .getBestFragment(tokenStream, TEXT));
     } finally {
       indexReader.close();
       directory.close();
@@ -285,25 +268,21 @@ public class HighlighterPhraseTest exten
     try {
       assertEquals(1, indexReader.numDocs());
       final IndexSearcher indexSearcher = newSearcher(indexReader);
-      try {
-        final Query phraseQuery = new SpanNearQuery(new SpanQuery[] {
-            new SpanTermQuery(new Term(FIELD, "did")),
-            new SpanTermQuery(new Term(FIELD, "jump")) }, 0, true);
-
-        TopDocs hits = indexSearcher.search(phraseQuery, 1);
-        assertEquals(0, hits.totalHits);
-        final Highlighter highlighter = new Highlighter(
-            new SimpleHTMLFormatter(), new SimpleHTMLEncoder(),
-            new QueryScorer(phraseQuery));
-        final TokenStream tokenStream = TokenSources
-            .getTokenStream(indexReader.getTermVector(
-                0, FIELD), false);
-        assertEquals(
-            highlighter.getBestFragment(new TokenStreamSparse(), TEXT),
-            highlighter.getBestFragment(tokenStream, TEXT));
-      } finally {
-        indexSearcher.close();
-      }
+      final Query phraseQuery = new SpanNearQuery(new SpanQuery[] {
+          new SpanTermQuery(new Term(FIELD, "did")),
+          new SpanTermQuery(new Term(FIELD, "jump")) }, 0, true);
+
+      TopDocs hits = indexSearcher.search(phraseQuery, 1);
+      assertEquals(0, hits.totalHits);
+      final Highlighter highlighter = new Highlighter(
+          new SimpleHTMLFormatter(), new SimpleHTMLEncoder(),
+          new QueryScorer(phraseQuery));
+      final TokenStream tokenStream = TokenSources
+          .getTokenStream(indexReader.getTermVector(
+              0, FIELD), false);
+      assertEquals(
+          highlighter.getBestFragment(new TokenStreamSparse(), TEXT),
+          highlighter.getBestFragment(tokenStream, TEXT));
     } finally {
       indexReader.close();
       directory.close();

Modified: lucene/dev/trunk/lucene/contrib/highlighter/src/test/org/apache/lucene/search/highlight/HighlighterTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/contrib/highlighter/src/test/org/apache/lucene/search/highlight/HighlighterTest.java?rev=1213117&r1=1213116&r2=1213117&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/contrib/highlighter/src/test/org/apache/lucene/search/highlight/HighlighterTest.java (original)
+++ lucene/dev/trunk/lucene/contrib/highlighter/src/test/org/apache/lucene/search/highlight/HighlighterTest.java Mon Dec 12 00:21:40 2011
@@ -109,7 +109,6 @@ public class HighlighterTest extends Bas
 
       if (VERBOSE) System.out.println(fragment);
     }
-    searcher.close();
   }
   
   public void testHighlightingWithDefaultField() throws Exception {
@@ -1271,7 +1270,6 @@ public class HighlighterTest extends Bas
       public void run() throws Exception {
         numHighlights = 0;
         // test to show how rewritten query can still be used
-        if (searcher != null) searcher.close();
         searcher = new IndexSearcher(reader);
         Analyzer analyzer = new MockAnalyzer(random, MockTokenizer.SIMPLE, true, MockTokenFilter.ENGLISH_STOPSET, true);
         
@@ -1664,7 +1662,6 @@ public class HighlighterTest extends Bas
       if (VERBOSE) System.out.println("result:" +  result);
       assertEquals("more <B>random</B> words for second field", result);
     }
-    searcher.close();
     reader.close();
   }
 
@@ -1703,7 +1700,6 @@ public class HighlighterTest extends Bas
   }
 
   public void doSearching(Query unReWrittenQuery) throws Exception {
-    if (searcher != null) searcher.close();
     searcher = new IndexSearcher(reader);
     // for any multi-term queries to work (prefix, wildcard, range,fuzzy etc)
     // you must use a rewritten query!
@@ -1769,7 +1765,6 @@ public class HighlighterTest extends Bas
 
   @Override
   public void tearDown() throws Exception {
-    if (searcher != null) searcher.close();
     reader.close();
     dir.close();
     ramDir.close();

Modified: lucene/dev/trunk/lucene/contrib/highlighter/src/test/org/apache/lucene/search/highlight/TokenSourcesTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/contrib/highlighter/src/test/org/apache/lucene/search/highlight/TokenSourcesTest.java?rev=1213117&r1=1213116&r2=1213117&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/contrib/highlighter/src/test/org/apache/lucene/search/highlight/TokenSourcesTest.java (original)
+++ lucene/dev/trunk/lucene/contrib/highlighter/src/test/org/apache/lucene/search/highlight/TokenSourcesTest.java Mon Dec 12 00:21:40 2011
@@ -114,31 +114,27 @@ public class TokenSourcesTest extends Lu
       indexWriter.close();
     }
     final IndexReader indexReader = IndexReader.open(directory);
+    assertEquals(1, indexReader.numDocs());
+    final IndexSearcher indexSearcher = newSearcher(indexReader);
     try {
-      assertEquals(1, indexReader.numDocs());
-      final IndexSearcher indexSearcher = newSearcher(indexReader);
-      try {
-        final DisjunctionMaxQuery query = new DisjunctionMaxQuery(1);
-        query.add(new SpanTermQuery(new Term(FIELD, "{fox}")));
-        query.add(new SpanTermQuery(new Term(FIELD, "fox")));
+      final DisjunctionMaxQuery query = new DisjunctionMaxQuery(1);
+      query.add(new SpanTermQuery(new Term(FIELD, "{fox}")));
+      query.add(new SpanTermQuery(new Term(FIELD, "fox")));
         // final Query phraseQuery = new SpanNearQuery(new SpanQuery[] {
         // new SpanTermQuery(new Term(FIELD, "{fox}")),
         // new SpanTermQuery(new Term(FIELD, "fox")) }, 0, true);
 
-        TopDocs hits = indexSearcher.search(query, 1);
-        assertEquals(1, hits.totalHits);
-        final Highlighter highlighter = new Highlighter(
-            new SimpleHTMLFormatter(), new SimpleHTMLEncoder(),
-            new QueryScorer(query));
-        final TokenStream tokenStream = TokenSources
-            .getTokenStream(
-                indexReader.getTermVector(0, FIELD),
-                false);
-        assertEquals("<B>the fox</B> did not jump",
-            highlighter.getBestFragment(tokenStream, TEXT));
-      } finally {
-        indexSearcher.close();
-      }
+      TopDocs hits = indexSearcher.search(query, 1);
+      assertEquals(1, hits.totalHits);
+      final Highlighter highlighter = new Highlighter(
+          new SimpleHTMLFormatter(), new SimpleHTMLEncoder(),
+          new QueryScorer(query));
+      final TokenStream tokenStream = TokenSources
+          .getTokenStream(
+              indexReader.getTermVector(0, FIELD),
+              false);
+      assertEquals("<B>the fox</B> did not jump",
+          highlighter.getBestFragment(tokenStream, TEXT));
     } finally {
       indexReader.close();
       directory.close();
@@ -166,28 +162,24 @@ public class TokenSourcesTest extends Lu
     try {
       assertEquals(1, indexReader.numDocs());
       final IndexSearcher indexSearcher = newSearcher(indexReader);
-      try {
-        final DisjunctionMaxQuery query = new DisjunctionMaxQuery(1);
-        query.add(new SpanTermQuery(new Term(FIELD, "{fox}")));
-        query.add(new SpanTermQuery(new Term(FIELD, "fox")));
-        // final Query phraseQuery = new SpanNearQuery(new SpanQuery[] {
-        // new SpanTermQuery(new Term(FIELD, "{fox}")),
-        // new SpanTermQuery(new Term(FIELD, "fox")) }, 0, true);
-
-        TopDocs hits = indexSearcher.search(query, 1);
-        assertEquals(1, hits.totalHits);
-        final Highlighter highlighter = new Highlighter(
-            new SimpleHTMLFormatter(), new SimpleHTMLEncoder(),
-            new QueryScorer(query));
-        final TokenStream tokenStream = TokenSources
-            .getTokenStream(
-                indexReader.getTermVector(0, FIELD),
-                false);
-        assertEquals("<B>the fox</B> did not jump",
-            highlighter.getBestFragment(tokenStream, TEXT));
-      } finally {
-        indexSearcher.close();
-      }
+      final DisjunctionMaxQuery query = new DisjunctionMaxQuery(1);
+      query.add(new SpanTermQuery(new Term(FIELD, "{fox}")));
+      query.add(new SpanTermQuery(new Term(FIELD, "fox")));
+      // final Query phraseQuery = new SpanNearQuery(new SpanQuery[] {
+      // new SpanTermQuery(new Term(FIELD, "{fox}")),
+      // new SpanTermQuery(new Term(FIELD, "fox")) }, 0, true);
+
+      TopDocs hits = indexSearcher.search(query, 1);
+      assertEquals(1, hits.totalHits);
+      final Highlighter highlighter = new Highlighter(
+          new SimpleHTMLFormatter(), new SimpleHTMLEncoder(),
+          new QueryScorer(query));
+      final TokenStream tokenStream = TokenSources
+          .getTokenStream(
+              indexReader.getTermVector(0, FIELD),
+              false);
+      assertEquals("<B>the fox</B> did not jump",
+          highlighter.getBestFragment(tokenStream, TEXT));
     } finally {
       indexReader.close();
       directory.close();
@@ -214,28 +206,24 @@ public class TokenSourcesTest extends Lu
     try {
       assertEquals(1, indexReader.numDocs());
       final IndexSearcher indexSearcher = newSearcher(indexReader);
-      try {
-        // final DisjunctionMaxQuery query = new DisjunctionMaxQuery(1);
-        // query.add(new SpanTermQuery(new Term(FIELD, "{fox}")));
-        // query.add(new SpanTermQuery(new Term(FIELD, "fox")));
-        final Query phraseQuery = new SpanNearQuery(new SpanQuery[] {
-            new SpanTermQuery(new Term(FIELD, "the")),
-            new SpanTermQuery(new Term(FIELD, "fox"))}, 0, true);
-
-        TopDocs hits = indexSearcher.search(phraseQuery, 1);
-        assertEquals(1, hits.totalHits);
-        final Highlighter highlighter = new Highlighter(
-            new SimpleHTMLFormatter(), new SimpleHTMLEncoder(),
-            new QueryScorer(phraseQuery));
-        final TokenStream tokenStream = TokenSources
-            .getTokenStream(
-                indexReader.getTermVector(0, FIELD),
-                false);
-        assertEquals("<B>the fox</B> did not jump",
-            highlighter.getBestFragment(tokenStream, TEXT));
-      } finally {
-        indexSearcher.close();
-      }
+      // final DisjunctionMaxQuery query = new DisjunctionMaxQuery(1);
+      // query.add(new SpanTermQuery(new Term(FIELD, "{fox}")));
+      // query.add(new SpanTermQuery(new Term(FIELD, "fox")));
+      final Query phraseQuery = new SpanNearQuery(new SpanQuery[] {
+          new SpanTermQuery(new Term(FIELD, "the")),
+          new SpanTermQuery(new Term(FIELD, "fox"))}, 0, true);
+
+      TopDocs hits = indexSearcher.search(phraseQuery, 1);
+      assertEquals(1, hits.totalHits);
+      final Highlighter highlighter = new Highlighter(
+          new SimpleHTMLFormatter(), new SimpleHTMLEncoder(),
+          new QueryScorer(phraseQuery));
+      final TokenStream tokenStream = TokenSources
+          .getTokenStream(
+              indexReader.getTermVector(0, FIELD),
+              false);
+      assertEquals("<B>the fox</B> did not jump",
+          highlighter.getBestFragment(tokenStream, TEXT));
     } finally {
       indexReader.close();
       directory.close();
@@ -263,28 +251,24 @@ public class TokenSourcesTest extends Lu
     try {
       assertEquals(1, indexReader.numDocs());
       final IndexSearcher indexSearcher = newSearcher(indexReader);
-      try {
-        // final DisjunctionMaxQuery query = new DisjunctionMaxQuery(1);
-        // query.add(new SpanTermQuery(new Term(FIELD, "the")));
-        // query.add(new SpanTermQuery(new Term(FIELD, "fox")));
-        final Query phraseQuery = new SpanNearQuery(new SpanQuery[] {
-            new SpanTermQuery(new Term(FIELD, "the")),
-            new SpanTermQuery(new Term(FIELD, "fox"))}, 0, true);
-
-        TopDocs hits = indexSearcher.search(phraseQuery, 1);
-        assertEquals(1, hits.totalHits);
-        final Highlighter highlighter = new Highlighter(
-            new SimpleHTMLFormatter(), new SimpleHTMLEncoder(),
-            new QueryScorer(phraseQuery));
-        final TokenStream tokenStream = TokenSources
-            .getTokenStream(
-                indexReader.getTermVector(0, FIELD),
-                false);
-        assertEquals("<B>the fox</B> did not jump",
-            highlighter.getBestFragment(tokenStream, TEXT));
-      } finally {
-        indexSearcher.close();
-      }
+      // final DisjunctionMaxQuery query = new DisjunctionMaxQuery(1);
+      // query.add(new SpanTermQuery(new Term(FIELD, "the")));
+      // query.add(new SpanTermQuery(new Term(FIELD, "fox")));
+      final Query phraseQuery = new SpanNearQuery(new SpanQuery[] {
+          new SpanTermQuery(new Term(FIELD, "the")),
+          new SpanTermQuery(new Term(FIELD, "fox"))}, 0, true);
+
+      TopDocs hits = indexSearcher.search(phraseQuery, 1);
+      assertEquals(1, hits.totalHits);
+      final Highlighter highlighter = new Highlighter(
+          new SimpleHTMLFormatter(), new SimpleHTMLEncoder(),
+          new QueryScorer(phraseQuery));
+      final TokenStream tokenStream = TokenSources
+          .getTokenStream(
+              indexReader.getTermVector(0, FIELD),
+              false);
+      assertEquals("<B>the fox</B> did not jump",
+          highlighter.getBestFragment(tokenStream, TEXT));
     } finally {
       indexReader.close();
       directory.close();

Modified: lucene/dev/trunk/lucene/contrib/memory/src/test/org/apache/lucene/index/memory/MemoryIndexTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/contrib/memory/src/test/org/apache/lucene/index/memory/MemoryIndexTest.java?rev=1213117&r1=1213116&r2=1213117&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/contrib/memory/src/test/org/apache/lucene/index/memory/MemoryIndexTest.java (original)
+++ lucene/dev/trunk/lucene/contrib/memory/src/test/org/apache/lucene/index/memory/MemoryIndexTest.java Mon Dec 12 00:21:40 2011
@@ -143,9 +143,7 @@ public class MemoryIndexTest extends Bas
       TopDocs memDocs = mem.search(qp.parse(query), 1);
       assertEquals(ramDocs.totalHits, memDocs.totalHits);
     }
-    ram.close();
     reader.close();
-    mem.close();
   }
   
   /**

Modified: lucene/dev/trunk/lucene/contrib/sandbox/src/test/org/apache/lucene/sandbox/queries/DuplicateFilterTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/contrib/sandbox/src/test/org/apache/lucene/sandbox/queries/DuplicateFilterTest.java?rev=1213117&r1=1213116&r2=1213117&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/contrib/sandbox/src/test/org/apache/lucene/sandbox/queries/DuplicateFilterTest.java (original)
+++ lucene/dev/trunk/lucene/contrib/sandbox/src/test/org/apache/lucene/sandbox/queries/DuplicateFilterTest.java Mon Dec 12 00:21:40 2011
@@ -69,7 +69,6 @@ public class DuplicateFilterTest extends
   @Override
   public void tearDown() throws Exception {
     reader.close();
-    searcher.close();
     directory.close();
     super.tearDown();
   }

Modified: lucene/dev/trunk/lucene/contrib/sandbox/src/test/org/apache/lucene/sandbox/queries/FuzzyLikeThisQueryTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/contrib/sandbox/src/test/org/apache/lucene/sandbox/queries/FuzzyLikeThisQueryTest.java?rev=1213117&r1=1213116&r2=1213117&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/contrib/sandbox/src/test/org/apache/lucene/sandbox/queries/FuzzyLikeThisQueryTest.java (original)
+++ lucene/dev/trunk/lucene/contrib/sandbox/src/test/org/apache/lucene/sandbox/queries/FuzzyLikeThisQueryTest.java Mon Dec 12 00:21:40 2011
@@ -60,7 +60,6 @@ public class FuzzyLikeThisQueryTest exte
 
   @Override
   public void tearDown() throws Exception {
-    searcher.close();
     reader.close();
     directory.close();
     super.tearDown();

Modified: lucene/dev/trunk/lucene/contrib/sandbox/src/test/org/apache/lucene/sandbox/queries/TestSlowCollationMethods.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/contrib/sandbox/src/test/org/apache/lucene/sandbox/queries/TestSlowCollationMethods.java?rev=1213117&r1=1213116&r2=1213117&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/contrib/sandbox/src/test/org/apache/lucene/sandbox/queries/TestSlowCollationMethods.java (original)
+++ lucene/dev/trunk/lucene/contrib/sandbox/src/test/org/apache/lucene/sandbox/queries/TestSlowCollationMethods.java Mon Dec 12 00:21:40 2011
@@ -71,7 +71,6 @@ public class TestSlowCollationMethods ex
   
   @AfterClass
   public static void afterClass() throws Exception {
-    searcher.close();
     reader.close();
     dir.close();
     collator = null;

Modified: lucene/dev/trunk/lucene/contrib/sandbox/src/test/org/apache/lucene/sandbox/queries/regex/TestRegexQuery.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/contrib/sandbox/src/test/org/apache/lucene/sandbox/queries/regex/TestRegexQuery.java?rev=1213117&r1=1213116&r2=1213117&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/contrib/sandbox/src/test/org/apache/lucene/sandbox/queries/regex/TestRegexQuery.java (original)
+++ lucene/dev/trunk/lucene/contrib/sandbox/src/test/org/apache/lucene/sandbox/queries/regex/TestRegexQuery.java Mon Dec 12 00:21:40 2011
@@ -56,7 +56,6 @@ public class TestRegexQuery extends Luce
 
   @Override
   public void tearDown() throws Exception {
-    searcher.close();
     reader.close();
     directory.close();
     super.tearDown();

Modified: lucene/dev/trunk/lucene/contrib/sandbox/src/test/org/apache/lucene/sandbox/queries/regex/TestSpanRegexQuery.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/contrib/sandbox/src/test/org/apache/lucene/sandbox/queries/regex/TestSpanRegexQuery.java?rev=1213117&r1=1213116&r2=1213117&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/contrib/sandbox/src/test/org/apache/lucene/sandbox/queries/regex/TestSpanRegexQuery.java (original)
+++ lucene/dev/trunk/lucene/contrib/sandbox/src/test/org/apache/lucene/sandbox/queries/regex/TestSpanRegexQuery.java Mon Dec 12 00:21:40 2011
@@ -80,7 +80,6 @@ public class TestSpanRegexQuery extends 
     // true);
     int numHits = searcher.search(sfq, null, 1000).totalHits;
     assertEquals(1, numHits);
-    searcher.close();
     reader.close();
     directory.close();
   }

Modified: lucene/dev/trunk/lucene/contrib/spatial/src/test/org/apache/lucene/spatial/tier/TestCartesian.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/contrib/spatial/src/test/org/apache/lucene/spatial/tier/TestCartesian.java?rev=1213117&r1=1213116&r2=1213117&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/contrib/spatial/src/test/org/apache/lucene/spatial/tier/TestCartesian.java (original)
+++ lucene/dev/trunk/lucene/contrib/spatial/src/test/org/apache/lucene/spatial/tier/TestCartesian.java Mon Dec 12 00:21:40 2011
@@ -260,7 +260,6 @@ public class TestCartesian extends Lucen
       assertTrue(geo_distance >= lastDistance);
       lastDistance = geo_distance;
     }
-    searcher.close();
     reader.close();
   }
 
@@ -332,7 +331,6 @@ public class TestCartesian extends Lucen
       assertTrue(geo_distance >= lastDistance);
       lastDistance = geo_distance;
     }
-    searcher.close();
     reader.close();
   }
   
@@ -404,7 +402,6 @@ public class TestCartesian extends Lucen
         lastDistance = geo_distance;
       }
     }
-    searcher.close();
     reader.close();
   }
   
@@ -476,7 +473,6 @@ public class TestCartesian extends Lucen
 	      
       }
     }
-    searcher.close();
     reader.close();
   }
 }

Modified: lucene/dev/trunk/lucene/src/java/org/apache/lucene/search/IndexSearcher.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/java/org/apache/lucene/search/IndexSearcher.java?rev=1213117&r1=1213116&r2=1213117&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/java/org/apache/lucene/search/IndexSearcher.java (original)
+++ lucene/dev/trunk/lucene/src/java/org/apache/lucene/search/IndexSearcher.java Mon Dec 12 00:21:40 2011
@@ -42,8 +42,6 @@ import org.apache.lucene.index.Terms;
 import org.apache.lucene.search.similarities.DefaultSimilarityProvider;
 import org.apache.lucene.search.similarities.SimilarityProvider;
 import org.apache.lucene.store.NIOFSDirectory;    // javadoc
-import org.apache.lucene.util.Bits;
-import org.apache.lucene.util.BytesRef;
 import org.apache.lucene.util.ReaderUtil;
 import org.apache.lucene.util.TermContext;
 import org.apache.lucene.util.ThreadInterruptedException;
@@ -73,7 +71,7 @@ import org.apache.lucene.util.ThreadInte
  * synchronize on the <code>IndexSearcher</code> instance;
  * use your own (non-Lucene) objects instead.</p>
  */
-public class IndexSearcher implements Closeable {
+public class IndexSearcher {
   final IndexReader reader; // package private for testing!
   
   // NOTE: these members might change in incompatible ways
@@ -198,10 +196,6 @@ public class IndexSearcher implements Cl
   public SimilarityProvider getSimilarityProvider() {
     return similarityProvider;
   }
-
-  @Override
-  public void close() throws IOException {
-  }
   
   /** @lucene.internal */
   protected Query wrapFilter(Query query, Filter filter) {

Modified: lucene/dev/trunk/lucene/src/test-framework/java/org/apache/lucene/analysis/CollationTestBase.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test-framework/java/org/apache/lucene/analysis/CollationTestBase.java?rev=1213117&r1=1213116&r2=1213117&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test-framework/java/org/apache/lucene/analysis/CollationTestBase.java (original)
+++ lucene/dev/trunk/lucene/src/test-framework/java/org/apache/lucene/analysis/CollationTestBase.java Mon Dec 12 00:21:40 2011
@@ -102,7 +102,6 @@ public abstract class CollationTestBase 
       (query, new TermRangeFilter("content", secondBeg, secondEnd, true, true), 1).scoreDocs;
     assertEquals("The index Term should be included.", 1, result.length);
 
-    searcher.close();
     reader.close();
   }
  
@@ -131,7 +130,6 @@ public abstract class CollationTestBase 
     query = new TermRangeQuery("content", secondBeg, secondEnd, true, true);
     hits = searcher.search(query, null, 1000).scoreDocs;
     assertEquals("The index Term should be included.", 1, hits.length);
-    searcher.close();
     reader.close();
   }
 
@@ -164,7 +162,6 @@ public abstract class CollationTestBase 
       ("content", secondBeg, secondEnd, true, true);
     result = search.search(csrq, null, 1000).scoreDocs;
     assertEquals("The index Term should be included.", 1, result.length);
-    search.close();
   }
   
   // Test using various international locales with accented characters (which
@@ -240,7 +237,6 @@ public abstract class CollationTestBase 
 
     sort.setSort(new SortField("Denmark", SortField.Type.STRING));
     assertMatches(searcher, queryY, sort, dkResult);
-    searcher.close();
     reader.close();
   }
     

Modified: lucene/dev/trunk/lucene/src/test-framework/java/org/apache/lucene/index/ThreadedIndexingAndSearchingTestCase.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test-framework/java/org/apache/lucene/index/ThreadedIndexingAndSearchingTestCase.java?rev=1213117&r1=1213116&r2=1213117&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test-framework/java/org/apache/lucene/index/ThreadedIndexingAndSearchingTestCase.java (original)
+++ lucene/dev/trunk/lucene/src/test-framework/java/org/apache/lucene/index/ThreadedIndexingAndSearchingTestCase.java Mon Dec 12 00:21:40 2011
@@ -472,7 +472,6 @@ public abstract class ThreadedIndexingAn
 
         IndexSearcher searcher = newSearcher(reader);
         sum += searcher.search(new TermQuery(new Term("body", "united")), 10).totalHits;
-        searcher.close();
 
         if (VERBOSE) {
           System.out.println("TEST: warm visited " + sum + " fields");

Modified: lucene/dev/trunk/lucene/src/test-framework/java/org/apache/lucene/search/CheckHits.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test-framework/java/org/apache/lucene/search/CheckHits.java?rev=1213117&r1=1213116&r2=1213117&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test-framework/java/org/apache/lucene/search/CheckHits.java (original)
+++ lucene/dev/trunk/lucene/src/test-framework/java/org/apache/lucene/search/CheckHits.java Mon Dec 12 00:21:40 2011
@@ -116,7 +116,6 @@ public class CheckHits {
                           query.toString(defaultFieldName),
                           correct, actual);
       FieldCache.DEFAULT.purge(s.getIndexReader()); // our wrapping can create insanity otherwise
-      s.close();
     }
   }
 

Modified: lucene/dev/trunk/lucene/src/test-framework/java/org/apache/lucene/search/QueryUtils.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test-framework/java/org/apache/lucene/search/QueryUtils.java?rev=1213117&r1=1213116&r2=1213117&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test-framework/java/org/apache/lucene/search/QueryUtils.java (original)
+++ lucene/dev/trunk/lucene/src/test-framework/java/org/apache/lucene/search/QueryUtils.java Mon Dec 12 00:21:40 2011
@@ -115,13 +115,10 @@ public class QueryUtils {
           IndexSearcher wrapped;
           check(random, q1, wrapped = wrapUnderlyingReader(random, s, -1), false);
           FieldCache.DEFAULT.purge(wrapped.getIndexReader()); // // our wrapping can create insanity otherwise
-          wrapped.close();
           check(random, q1, wrapped = wrapUnderlyingReader(random, s,  0), false);
           FieldCache.DEFAULT.purge(wrapped.getIndexReader()); // // our wrapping can create insanity otherwise
-          wrapped.close();
           check(random, q1, wrapped = wrapUnderlyingReader(random, s, +1), false);
           FieldCache.DEFAULT.purge(wrapped.getIndexReader()); // // our wrapping can create insanity otherwise
-          wrapped.close();
         }
         checkExplanations(q1,s);
         
@@ -309,7 +306,6 @@ public class QueryUtils {
                 Assert.assertFalse("query's last doc was "+ lastDoc[0] +" but skipTo("+(lastDoc[0]+1)+") got to "+scorer.docID(),more);
               }
               leafPtr++;
-              indexSearcher.close();
             }
             lastReader[0] = context.reader;
             assert readerContextArray[leafPtr].reader == context.reader;
@@ -335,7 +331,6 @@ public class QueryUtils {
             boolean more = scorer.advance(lastDoc[0] + 1) != DocIdSetIterator.NO_MORE_DOCS;
             Assert.assertFalse("query's last doc was "+ lastDoc[0] +" but skipTo("+(lastDoc[0]+1)+") got to "+scorer.docID(),more);
           }
-          indexSearcher.close();
         }
       }
   }
@@ -394,7 +389,6 @@ public class QueryUtils {
             boolean more = scorer.advance(lastDoc[0] + 1) != DocIdSetIterator.NO_MORE_DOCS;
             Assert.assertFalse("query's last doc was "+ lastDoc[0] +" but skipTo("+(lastDoc[0]+1)+") got to "+scorer.docID(),more);
           }
-          indexSearcher.close();
           leafPtr++;
         }
 
@@ -419,7 +413,6 @@ public class QueryUtils {
         boolean more = scorer.advance(lastDoc[0] + 1) != DocIdSetIterator.NO_MORE_DOCS;
         Assert.assertFalse("query's last doc was "+ lastDoc[0] +" but skipTo("+(lastDoc[0]+1)+") got to "+scorer.docID(),more);
       }
-      indexSearcher.close();
     }
   }
 }

Modified: lucene/dev/trunk/lucene/src/test-framework/java/org/apache/lucene/util/LuceneTestCase.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test-framework/java/org/apache/lucene/util/LuceneTestCase.java?rev=1213117&r1=1213116&r2=1213117&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test-framework/java/org/apache/lucene/util/LuceneTestCase.java (original)
+++ lucene/dev/trunk/lucene/src/test-framework/java/org/apache/lucene/util/LuceneTestCase.java Mon Dec 12 00:21:40 2011
@@ -37,6 +37,7 @@ import org.apache.lucene.analysis.Analyz
 import org.apache.lucene.document.Field;
 import org.apache.lucene.document.FieldType;
 import org.apache.lucene.index.*;
+import org.apache.lucene.index.IndexReader.ReaderFinishedListener;
 import org.apache.lucene.index.codecs.Codec;
 import org.apache.lucene.index.codecs.PostingsFormat;
 import org.apache.lucene.index.codecs.appending.AppendingCodec;
@@ -731,7 +732,8 @@ public abstract class LuceneTestCase ext
           rogueThreads.put(t, true);
           rogueCount++;
           if (t.getName().startsWith("LuceneTestCase")) {
-            System.err.println("PLEASE CLOSE YOUR INDEXSEARCHERS IN YOUR TEST!!!!");
+            // TODO: should we fail here now? really test should be failing?
+            System.err.println("PLEASE CLOSE YOUR INDEXREADERS IN YOUR TEST!!!!");
             continue;
           } else {
             // wait on the thread to die of natural causes
@@ -1228,23 +1230,25 @@ public abstract class LuceneTestCase ext
       final ExecutorService ex = (random.nextBoolean()) ? null
           : Executors.newFixedThreadPool(threads = _TestUtil.nextInt(random, 1, 8),
                       new NamedThreadFactory("LuceneTestCase"));
-      if (ex != null && VERBOSE) {
+      if (ex != null) {
+       if (VERBOSE) {
         System.out.println("NOTE: newSearcher using ExecutorService with " + threads + " threads");
-      }
-      IndexSearcher ret = random.nextBoolean() ? 
-        new AssertingIndexSearcher(random, r, ex) {
-          @Override
-          public void close() throws IOException {
-            super.close();
-            shutdownExecutorService(ex);
-          }
-        } : new AssertingIndexSearcher(random, r.getTopReaderContext(), ex) {
-          @Override
-          public void close() throws IOException {
-            super.close();
-            shutdownExecutorService(ex);
-          }
-        };
+       }
+       final IndexReader r0 = r;
+       r.addReaderFinishedListener(new ReaderFinishedListener() {
+         @Override
+         public void finished(IndexReader reader) {
+           // readerFinishedListener bogusly calls us with other random readers
+           // so we must check that its *actually* the one we registered it on.
+           if (reader == r0) {
+             shutdownExecutorService(ex);
+           }
+         }
+       });
+      }
+      IndexSearcher ret = random.nextBoolean() 
+          ? new AssertingIndexSearcher(random, r, ex)
+          : new AssertingIndexSearcher(random, r.getTopReaderContext(), ex);
       ret.setSimilarityProvider(similarityProvider);
       return ret;
     }

Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/TestDemo.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/TestDemo.java?rev=1213117&r1=1213116&r2=1213117&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/TestDemo.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/TestDemo.java Mon Dec 12 00:21:40 2011
@@ -73,7 +73,6 @@ public class TestDemo extends LuceneTest
     phraseQuery.add(new Term("fieldname", "be"));
     assertEquals(1, isearcher.search(phraseQuery, null, 1).totalHits);
 
-    isearcher.close();
     ireader.close();
     directory.close();
   }

Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/TestExternalCodecs.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/TestExternalCodecs.java?rev=1213117&r1=1213116&r2=1213117&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/TestExternalCodecs.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/TestExternalCodecs.java Mon Dec 12 00:21:40 2011
@@ -96,7 +96,6 @@ public class TestExternalCodecs extends 
     assertEquals(NUM_DOCS-1, s.search(new TermQuery(new Term("field1", "standard")), 1).totalHits);
     assertEquals(NUM_DOCS-1, s.search(new TermQuery(new Term("field2", "pulsing")), 1).totalHits);
     r.close();
-    s.close();
 
     if (VERBOSE) {
       System.out.println("\nTEST: now delete 2nd doc");
@@ -114,7 +113,6 @@ public class TestExternalCodecs extends 
     assertEquals(0, s.search(new TermQuery(new Term("id", "44")), 1).totalHits);
 
     r.close();
-    s.close();
 
     w.close();
 

Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/TestSearch.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/TestSearch.java?rev=1213117&r1=1213116&r2=1213117&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/TestSearch.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/TestSearch.java Mon Dec 12 00:21:40 2011
@@ -122,7 +122,6 @@ public class TestSearch extends LuceneTe
           out.println(i + " " + hits[i].score + " " + d.get("contents"));
         }
       }
-      searcher.close();
       reader.close();
       directory.close();
   }

Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/TestSearchForDuplicates.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/TestSearchForDuplicates.java?rev=1213117&r1=1213116&r2=1213117&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/TestSearchForDuplicates.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/TestSearchForDuplicates.java Mon Dec 12 00:21:40 2011
@@ -115,8 +115,6 @@ public class TestSearchForDuplicates ext
       printHits(out, hits, searcher);
       checkHits(hits, MAX_DOCS, searcher);
 
-      searcher.close();
-
       // try a new search with OR
       searcher = new IndexSearcher(reader);
       hits = null;
@@ -130,7 +128,6 @@ public class TestSearchForDuplicates ext
       printHits(out, hits, searcher);
       checkHits(hits, MAX_DOCS, searcher);
 
-      searcher.close();
       reader.close();
       directory.close();
   }

Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/document/TestDocument.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/document/TestDocument.java?rev=1213117&r1=1213116&r2=1213117&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/document/TestDocument.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/document/TestDocument.java Mon Dec 12 00:21:40 2011
@@ -174,7 +174,6 @@ public class TestDocument extends Lucene
     
     doAssert(searcher.doc(hits[0].doc), true);
     writer.close();
-    searcher.close();
     reader.close();
     dir.close();
   }
@@ -270,7 +269,6 @@ public class TestDocument extends Lucene
       else fail("unexpected id field");
     }
     writer.close();
-    searcher.close();
     reader.close();
     dir.close();
     assertEquals("did not see all IDs", 7, result);

Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestBackwardsCompatibility.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestBackwardsCompatibility.java?rev=1213117&r1=1213116&r2=1213117&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestBackwardsCompatibility.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestBackwardsCompatibility.java Mon Dec 12 00:21:40 2011
@@ -336,7 +336,6 @@ public class TestBackwardsCompatibility 
     hits = searcher.search(new TermQuery(new Term("utf8", "ab\ud917\udc17cd")), null, 1000).scoreDocs;
     assertEquals(34, hits.length);
 
-    searcher.close();
     reader.close();
     dir.close();
   }
@@ -374,7 +373,6 @@ public class TestBackwardsCompatibility 
     Document d = searcher.getIndexReader().document(hits[0].doc);
     assertEquals("wrong first document", "21", d.get("id"));
     doTestHits(hits, 44, searcher.getIndexReader());
-    searcher.close();
     reader.close();
 
     // fully merge
@@ -389,7 +387,6 @@ public class TestBackwardsCompatibility 
     d = searcher.doc(hits[0].doc);
     doTestHits(hits, 44, searcher.getIndexReader());
     assertEquals("wrong first document", "21", d.get("id"));
-    searcher.close();
     reader.close();
 
     dir.close();
@@ -406,7 +403,6 @@ public class TestBackwardsCompatibility 
     assertEquals("wrong number of hits", 34, hits.length);
     Document d = searcher.doc(hits[0].doc);
     assertEquals("wrong first document", "21", d.get("id"));
-    searcher.close();
     reader.close();
 
     // fully merge
@@ -419,7 +415,6 @@ public class TestBackwardsCompatibility 
     hits = searcher.search(new TermQuery(new Term("content", "aaa")), null, 1000).scoreDocs;
     assertEquals("wrong number of hits", 34, hits.length);
     doTestHits(hits, 34, searcher.getIndexReader());
-    searcher.close();
     reader.close();
 
     dir.close();
@@ -664,7 +659,6 @@ public class TestBackwardsCompatibility 
         assertTrue("value in id bounds", val >= 0L && val < 35L);
       }
       
-      searcher.close();
       reader.close();
       dir.close();
       _TestUtil.rmDir(oldIndexDir);

Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestBinaryTerms.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestBinaryTerms.java?rev=1213117&r1=1213116&r2=1213117&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestBinaryTerms.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestBinaryTerms.java Mon Dec 12 00:21:40 2011
@@ -70,7 +70,6 @@ public class TestBinaryTerms extends Luc
       assertEquals("" + i, is.doc(docs.scoreDocs[0].doc).get("id"));
     }
     
-    is.close();
     ir.close();
     dir.close();
   }

Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestCodecs.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestCodecs.java?rev=1213117&r1=1213116&r2=1213117&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestCodecs.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestCodecs.java Mon Dec 12 00:21:40 2011
@@ -393,7 +393,6 @@ public class TestCodecs extends LuceneTe
       return searcher.search(q, null, n).scoreDocs;
     }
     finally {
-      searcher.close();
       reader.close();
     }
   }

Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestCrashCausesCorruptIndex.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestCrashCausesCorruptIndex.java?rev=1213117&r1=1213116&r2=1213117&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestCrashCausesCorruptIndex.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestCrashCausesCorruptIndex.java Mon Dec 12 00:21:40 2011
@@ -126,7 +126,6 @@ public class TestCrashCausesCorruptIndex
     TopDocs topDocs = indexSearcher.search(new TermQuery(new Term(TEXT_FIELD, "fleas")), 10);
     assertNotNull(topDocs);
     assertEquals(expectedTotalHits, topDocs.totalHits);
-    indexSearcher.close();
     indexReader.close();
     realDirectory.close();
   }

Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestDeletionPolicy.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestDeletionPolicy.java?rev=1213117&r1=1213116&r2=1213117&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestDeletionPolicy.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestDeletionPolicy.java Mon Dec 12 00:21:40 2011
@@ -660,7 +660,6 @@ public class TestDeletionPolicy extends 
         ScoreDoc[] hits = searcher.search(query, null, 1000).scoreDocs;
         assertEquals(16, hits.length);
         reader.close();
-        searcher.close();
 
         writer = new IndexWriter(dir, newIndexWriterConfig(
             TEST_VERSION_CURRENT, new MockAnalyzer(random))
@@ -685,7 +684,6 @@ public class TestDeletionPolicy extends 
       dir.deleteFile(IndexFileNames.SEGMENTS_GEN);
       int expectedCount = 0;
       
-      searcher.close();
       rwReader.close();
 
       for(int i=0;i<N+1;i++) {
@@ -697,7 +695,6 @@ public class TestDeletionPolicy extends 
           searcher = newSearcher(reader);
           hits = searcher.search(query, null, 1000).scoreDocs;
           assertEquals(expectedCount, hits.length);
-          searcher.close();
           if (expectedCount == 0) {
             expectedCount = 16;
           } else if (expectedCount == 16) {

Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestForTooMuchCloning.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestForTooMuchCloning.java?rev=1213117&r1=1213116&r2=1213117&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestForTooMuchCloning.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestForTooMuchCloning.java Mon Dec 12 00:21:40 2011
@@ -75,7 +75,6 @@ public class TestForTooMuchCloning exten
     final int queryCloneCount = dir.getInputCloneCount() - cloneCount;
     //System.out.println("query clone count=" + queryCloneCount);
     assertTrue("too many calls to IndexInput.clone during TermRangeQuery: " + queryCloneCount, queryCloneCount < 50);
-    s.close();
     r.close();
     dir.close();
   }

Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestIndexReaderReopen.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestIndexReaderReopen.java?rev=1213117&r1=1213116&r2=1213117&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestIndexReaderReopen.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestIndexReaderReopen.java Mon Dec 12 00:21:40 2011
@@ -515,7 +515,6 @@ public class TestIndexReaderReopen exten
                 if (hits.length > 0) {
                   searcher.doc(hits[0].doc);
                 }
-                searcher.close();
                 if (refreshed != r) {
                   refreshed.close();
                 }

Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestIndexWriter.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestIndexWriter.java?rev=1213117&r1=1213116&r2=1213117&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestIndexWriter.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestIndexWriter.java Mon Dec 12 00:21:40 2011
@@ -456,7 +456,6 @@ public class TestIndexWriter extends Luc
       IndexSearcher searcher = new IndexSearcher(reader);
       ScoreDoc[] hits = searcher.search(new TermQuery(new Term("field", "aaa")), null, 1000).scoreDocs;
       assertEquals(300, hits.length);
-      searcher.close();
       reader.close();
 
       dir.close();
@@ -488,7 +487,6 @@ public class TestIndexWriter extends Luc
       IndexSearcher searcher = new IndexSearcher(reader);
       ScoreDoc[] hits = searcher.search(new TermQuery(searchTerm), null, 1000).scoreDocs;
       assertEquals(10, hits.length);
-      searcher.close();
       reader.close();
 
       writer = new IndexWriter(dir, newIndexWriterConfig( TEST_VERSION_CURRENT, new MockAnalyzer(random))
@@ -511,7 +509,6 @@ public class TestIndexWriter extends Luc
       searcher = new IndexSearcher(reader);
       hits = searcher.search(new TermQuery(searchTerm), null, 1000).scoreDocs;
       assertEquals(27, hits.length);
-      searcher.close();
       reader.close();
 
       reader = IndexReader.open(dir);
@@ -590,7 +587,6 @@ public class TestIndexWriter extends Luc
       IndexSearcher searcher = new IndexSearcher(reader);
       ScoreDoc[] hits = searcher.search(new TermQuery(searchTerm), null, 1000).scoreDocs;
       assertEquals("did not get right number of hits", 100, hits.length);
-      searcher.close();
       reader.close();
 
       writer = new IndexWriter(dir, newIndexWriterConfig( TEST_VERSION_CURRENT, new MockAnalyzer(random))
@@ -1013,7 +1009,6 @@ public class TestIndexWriter extends Luc
     assertEquals(0, tps.nextPosition());
     w.close();
 
-    s.close();
     r.close();
     dir.close();
   }
@@ -1708,7 +1703,6 @@ public class TestIndexWriter extends Luc
             assertEquals("doc " + testID + ", field f" + fieldCount + " is wrong", docExp.get("f"+i),  doc.get("f"+i));
           }
         }
-        s.close();
         r.close();
         w.forceMerge(1);
       }

Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestIndexWriterCommit.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestIndexWriterCommit.java?rev=1213117&r1=1213116&r2=1213117&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestIndexWriterCommit.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestIndexWriterCommit.java Mon Dec 12 00:21:40 2011
@@ -55,7 +55,6 @@ public class TestIndexWriterCommit exten
       IndexSearcher searcher = new IndexSearcher(reader);
       ScoreDoc[] hits = searcher.search(new TermQuery(searchTerm), null, 1000).scoreDocs;
       assertEquals("first number of hits", 14, hits.length);
-      searcher.close();
       reader.close();
 
       reader = IndexReader.open(dir);
@@ -69,7 +68,6 @@ public class TestIndexWriterCommit exten
         searcher = new IndexSearcher(r);
         hits = searcher.search(new TermQuery(searchTerm), null, 1000).scoreDocs;
         assertEquals("reader incorrectly sees changes from writer", 14, hits.length);
-        searcher.close();
         r.close();
         assertTrue("reader should have still been current", reader.isCurrent());
       }
@@ -82,7 +80,6 @@ public class TestIndexWriterCommit exten
       searcher = new IndexSearcher(r);
       hits = searcher.search(new TermQuery(searchTerm), null, 1000).scoreDocs;
       assertEquals("reader did not see changes after writer was closed", 47, hits.length);
-      searcher.close();
       r.close();
       reader.close();
       dir.close();
@@ -109,7 +106,6 @@ public class TestIndexWriterCommit exten
     IndexSearcher searcher = new IndexSearcher(reader);
     ScoreDoc[] hits = searcher.search(new TermQuery(searchTerm), null, 1000).scoreDocs;
     assertEquals("first number of hits", 14, hits.length);
-    searcher.close();
     reader.close();
 
     writer = new IndexWriter(dir, newIndexWriterConfig( TEST_VERSION_CURRENT, new MockAnalyzer(random))
@@ -124,7 +120,6 @@ public class TestIndexWriterCommit exten
     searcher = new IndexSearcher(reader);
     hits = searcher.search(new TermQuery(searchTerm), null, 1000).scoreDocs;
     assertEquals("reader incorrectly sees changes from writer", 14, hits.length);
-    searcher.close();
     reader.close();
 
     // Now, close the writer:
@@ -136,7 +131,6 @@ public class TestIndexWriterCommit exten
     searcher = new IndexSearcher(reader);
     hits = searcher.search(new TermQuery(searchTerm), null, 1000).scoreDocs;
     assertEquals("saw changes after writer.abort", 14, hits.length);
-    searcher.close();
     reader.close();
 
     // Now make sure we can re-open the index, add docs,
@@ -156,7 +150,6 @@ public class TestIndexWriterCommit exten
       searcher = new IndexSearcher(r);
       hits = searcher.search(new TermQuery(searchTerm), null, 1000).scoreDocs;
       assertEquals("reader incorrectly sees changes from writer", 14, hits.length);
-      searcher.close();
       r.close();
     }
 
@@ -165,7 +158,6 @@ public class TestIndexWriterCommit exten
     searcher = new IndexSearcher(r);
     hits = searcher.search(new TermQuery(searchTerm), null, 1000).scoreDocs;
     assertEquals("didn't see changes after close", 218, hits.length);
-    searcher.close();
     r.close();
 
     dir.close();

Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestIndexWriterDelete.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestIndexWriterDelete.java?rev=1213117&r1=1213116&r2=1213117&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestIndexWriterDelete.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestIndexWriterDelete.java Mon Dec 12 00:21:40 2011
@@ -403,7 +403,6 @@ public class TestIndexWriterDelete exten
     IndexReader reader = IndexReader.open(dir);
     IndexSearcher searcher = new IndexSearcher(reader);
     int hitCount = searcher.search(new TermQuery(term), null, 1000).totalHits;
-    searcher.close();
     reader.close();
     return hitCount;
   }
@@ -612,7 +611,6 @@ public class TestIndexWriterDelete exten
                  + result2 + " instead of expected " + START_COUNT + " or " + END_COUNT);
           }
         }
-        searcher.close();
         newReader.close();
         if (result2 == END_COUNT) {
           break;

Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestIndexWriterOnDiskFull.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestIndexWriterOnDiskFull.java?rev=1213117&r1=1213116&r2=1213117&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestIndexWriterOnDiskFull.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestIndexWriterOnDiskFull.java Mon Dec 12 00:21:40 2011
@@ -195,7 +195,6 @@ public class TestIndexWriterOnDiskFull e
     IndexSearcher searcher = newSearcher(reader);
     ScoreDoc[] hits = searcher.search(new TermQuery(searchTerm), null, 1000).scoreDocs;
     assertEquals("first number of hits", 57, hits.length);
-    searcher.close();
     reader.close();
     
     // Iterate with larger and larger amounts of free
@@ -395,7 +394,6 @@ public class TestIndexWriterOnDiskFull e
             }
           }
           
-          searcher.close();
           reader.close();
           if (VERBOSE) {
             System.out.println("  count is " + result);

Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestIndexWriterReader.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestIndexWriterReader.java?rev=1213117&r1=1213116&r2=1213117&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestIndexWriterReader.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestIndexWriterReader.java Mon Dec 12 00:21:40 2011
@@ -695,7 +695,6 @@ public class TestIndexWriterReader exten
     Query q = new TermQuery(new Term("indexname", "test"));
     IndexSearcher searcher = newSearcher(r);
     assertEquals(100, searcher.search(q, 10).totalHits);
-    searcher.close();
     try {
       IndexReader.openIfChanged(r);
       fail("failed to hit AlreadyClosedException");
@@ -761,7 +760,6 @@ public class TestIndexWriterReader exten
       Query q = new TermQuery(new Term("indexname", "test"));
       IndexSearcher searcher = newSearcher(r);
       final int count = searcher.search(q, 10).totalHits;
-      searcher.close();
       assertTrue(count >= lastCount);
       lastCount = count;
     }
@@ -778,7 +776,6 @@ public class TestIndexWriterReader exten
     Query q = new TermQuery(new Term("indexname", "test"));
     IndexSearcher searcher = newSearcher(r);
     final int count = searcher.search(q, 10).totalHits;
-    searcher.close();
     assertTrue(count >= lastCount);
 
     assertEquals(0, excs.size());
@@ -850,7 +847,6 @@ public class TestIndexWriterReader exten
       Query q = new TermQuery(new Term("indexname", "test"));
       IndexSearcher searcher = newSearcher(r);
       sum += searcher.search(q, 10).totalHits;
-      searcher.close();
     }
 
     for(int i=0;i<numThreads;i++) {
@@ -865,7 +861,6 @@ public class TestIndexWriterReader exten
     Query q = new TermQuery(new Term("indexname", "test"));
     IndexSearcher searcher = newSearcher(r);
     sum += searcher.search(q, 10).totalHits;
-    searcher.close();
     assertTrue("no documents found at all", sum > 0);
 
     assertEquals(0, excs.size());
@@ -954,7 +949,6 @@ public class TestIndexWriterReader exten
                 TopDocs hits = s.search(new TermQuery(new Term("foo", "bar")), 10);
                 assertEquals(20, hits.totalHits);
                 didWarm.set(true);
-                s.close();
               }
             }).
             setMergePolicy(newLogMergePolicy(10))

Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestLazyProxSkipping.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestLazyProxSkipping.java?rev=1213117&r1=1213116&r2=1213117&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestLazyProxSkipping.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestLazyProxSkipping.java Mon Dec 12 00:21:40 2011
@@ -138,9 +138,7 @@ public class TestLazyProxSkipping extend
         // test whether only the minimum amount of seeks()
         // are performed
         performTest(5);
-        searcher.close();
         performTest(10);
-        searcher.close();
     }
     
     public void testSeek() throws IOException {

Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestNRTThreads.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestNRTThreads.java?rev=1213117&r1=1213116&r2=1213117&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestNRTThreads.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestNRTThreads.java Mon Dec 12 00:21:40 2011
@@ -100,7 +100,6 @@ public class TestNRTThreads extends Thre
     if (s != fixedSearcher) {
       // Final searcher:
       s.getIndexReader().close();
-      s.close();
     }
   }
 

Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestOmitTf.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestOmitTf.java?rev=1213117&r1=1213116&r2=1213117&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestOmitTf.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestOmitTf.java Mon Dec 12 00:21:40 2011
@@ -400,8 +400,7 @@ public class TestOmitTf extends LuceneTe
                       }
                     });
     assertEquals(15, CountingHitCollector.getCount());
-        
-    searcher.close(); 
+         
     reader.close();
     dir.close();
   }

Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestParallelReader.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestParallelReader.java?rev=1213117&r1=1213116&r2=1213117&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestParallelReader.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestParallelReader.java Mon Dec 12 00:21:40 2011
@@ -46,9 +46,7 @@ public class TestParallelReader extends 
   @Override
   public void tearDown() throws Exception {
     single.getIndexReader().close();
-    single.close();
     parallel.getIndexReader().close();
-    parallel.close();
     dir.close();
     dir1.close();
     dir2.close();

Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestReaderClosed.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestReaderClosed.java?rev=1213117&r1=1213116&r2=1213117&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestReaderClosed.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestReaderClosed.java Mon Dec 12 00:21:40 2011
@@ -61,7 +61,6 @@ public class TestReaderClosed extends Lu
   public void test() throws Exception {
     TermRangeQuery query = TermRangeQuery.newStringRange("field", "a", "z", true, true);
     searcher.search(query, 5);
-    searcher.close();
     reader.close();
     try {
       searcher.search(query, 5);

Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestStressIndexing.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestStressIndexing.java?rev=1213117&r1=1213116&r2=1213117&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestStressIndexing.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestStressIndexing.java Mon Dec 12 00:21:40 2011
@@ -105,7 +105,6 @@ public class TestStressIndexing extends 
       for (int i=0; i<100; i++) {
         IndexReader ir = IndexReader.open(directory);
         IndexSearcher is = new IndexSearcher(ir);
-        is.close();
         ir.close();
       }
       count += 100;

Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestTermsEnum2.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestTermsEnum2.java?rev=1213117&r1=1213116&r2=1213117&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestTermsEnum2.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestTermsEnum2.java Mon Dec 12 00:21:40 2011
@@ -84,7 +84,6 @@ public class TestTermsEnum2 extends Luce
   }
   
   public void tearDown() throws Exception {
-    searcher.close();
     reader.close();
     dir.close();
     super.tearDown();

Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/codecs/lucene3x/TestTermInfosReaderIndex.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/codecs/lucene3x/TestTermInfosReaderIndex.java?rev=1213117&r1=1213116&r2=1213117&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/codecs/lucene3x/TestTermInfosReaderIndex.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/codecs/lucene3x/TestTermInfosReaderIndex.java Mon Dec 12 00:21:40 2011
@@ -136,7 +136,6 @@ public class TestTermInfosReaderIndex ex
       TopDocs topDocs = searcher.search(query, 10);
       assertTrue(topDocs.totalHits > 0);
     }
-    searcher.close();
   }
 
   private List<Term> sample(IndexReader reader, int size) throws IOException {

Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/codecs/perfield/TestPerFieldPostingsFormat.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/codecs/perfield/TestPerFieldPostingsFormat.java?rev=1213117&r1=1213116&r2=1213117&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/codecs/perfield/TestPerFieldPostingsFormat.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/codecs/perfield/TestPerFieldPostingsFormat.java Mon Dec 12 00:21:40 2011
@@ -194,7 +194,6 @@ public class TestPerFieldPostingsFormat 
     IndexSearcher searcher = newSearcher(reader);
     TopDocs search = searcher.search(new TermQuery(t), num + 10);
     assertEquals(num, search.totalHits);
-    searcher.close();
     reader.close();
 
   }

Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestAutomatonQuery.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestAutomatonQuery.java?rev=1213117&r1=1213116&r2=1213117&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestAutomatonQuery.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestAutomatonQuery.java Mon Dec 12 00:21:40 2011
@@ -67,7 +67,6 @@ public class TestAutomatonQuery extends 
   
   @Override
   public void tearDown() throws Exception {
-    searcher.close();
     reader.close();
     directory.close();
     super.tearDown();

Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestAutomatonQueryUnicode.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestAutomatonQueryUnicode.java?rev=1213117&r1=1213116&r2=1213117&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestAutomatonQueryUnicode.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestAutomatonQueryUnicode.java Mon Dec 12 00:21:40 2011
@@ -86,7 +86,6 @@ public class TestAutomatonQueryUnicode e
 
   @Override
   public void tearDown() throws Exception {
-    searcher.close();
     reader.close();
     directory.close();
     super.tearDown();