You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by us...@apache.org on 2012/01/31 00:34:14 UTC
svn commit: r1238085 [7/10] - in /lucene/dev/trunk: ./
dev-tools/idea/lucene/contrib/ lucene/ lucene/contrib/
lucene/contrib/highlighter/src/java/org/apache/lucene/search/highlight/
lucene/contrib/highlighter/src/test/org/apache/lucene/search/highlight...
Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestNumericRangeQuery32.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestNumericRangeQuery32.java?rev=1238085&r1=1238084&r2=1238085&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestNumericRangeQuery32.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestNumericRangeQuery32.java Mon Jan 30 23:34:03 2012
@@ -21,11 +21,11 @@ import org.apache.lucene.analysis.MockAn
import org.apache.lucene.document.Document;
import org.apache.lucene.document.FieldType;
import org.apache.lucene.document.NumericField;
-import org.apache.lucene.index.IndexReader.AtomicReaderContext;
+import org.apache.lucene.index.AtomicReaderContext;
import org.apache.lucene.index.IndexReader;
import org.apache.lucene.index.MultiFields;
import org.apache.lucene.index.RandomIndexWriter;
-import org.apache.lucene.index.SlowMultiReaderWrapper;
+import org.apache.lucene.index.SlowCompositeReaderWrapper;
import org.apache.lucene.index.Terms;
import org.apache.lucene.index.TermsEnum;
import org.apache.lucene.store.Directory;
@@ -192,15 +192,15 @@ public class TestNumericRangeQuery32 ext
@Test
public void testInverseRange() throws Exception {
- AtomicReaderContext context = (AtomicReaderContext) new SlowMultiReaderWrapper(reader).getTopReaderContext();
+ AtomicReaderContext context = SlowCompositeReaderWrapper.wrap(reader).getTopReaderContext();
NumericRangeFilter<Integer> f = NumericRangeFilter.newIntRange("field8", 8, 1000, -1000, true, true);
- assertSame("A inverse range should return the EMPTY_DOCIDSET instance", DocIdSet.EMPTY_DOCIDSET, f.getDocIdSet(context, context.reader.getLiveDocs()));
+ assertSame("A inverse range should return the EMPTY_DOCIDSET instance", DocIdSet.EMPTY_DOCIDSET, f.getDocIdSet(context, context.reader().getLiveDocs()));
f = NumericRangeFilter.newIntRange("field8", 8, Integer.MAX_VALUE, null, false, false);
assertSame("A exclusive range starting with Integer.MAX_VALUE should return the EMPTY_DOCIDSET instance",
- DocIdSet.EMPTY_DOCIDSET, f.getDocIdSet(context, context.reader.getLiveDocs()));
+ DocIdSet.EMPTY_DOCIDSET, f.getDocIdSet(context, context.reader().getLiveDocs()));
f = NumericRangeFilter.newIntRange("field8", 8, null, Integer.MIN_VALUE, false, false);
assertSame("A exclusive range ending with Integer.MIN_VALUE should return the EMPTY_DOCIDSET instance",
- DocIdSet.EMPTY_DOCIDSET, f.getDocIdSet(context, context.reader.getLiveDocs()));
+ DocIdSet.EMPTY_DOCIDSET, f.getDocIdSet(context, context.reader().getLiveDocs()));
}
@Test
Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestNumericRangeQuery64.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestNumericRangeQuery64.java?rev=1238085&r1=1238084&r2=1238085&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestNumericRangeQuery64.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestNumericRangeQuery64.java Mon Jan 30 23:34:03 2012
@@ -21,11 +21,11 @@ import org.apache.lucene.analysis.MockAn
import org.apache.lucene.document.Document;
import org.apache.lucene.document.FieldType;
import org.apache.lucene.document.NumericField;
-import org.apache.lucene.index.IndexReader.AtomicReaderContext;
+import org.apache.lucene.index.AtomicReaderContext;
import org.apache.lucene.index.IndexReader;
import org.apache.lucene.index.MultiFields;
import org.apache.lucene.index.RandomIndexWriter;
-import org.apache.lucene.index.SlowMultiReaderWrapper;
+import org.apache.lucene.index.SlowCompositeReaderWrapper;
import org.apache.lucene.index.Terms;
import org.apache.lucene.index.TermsEnum;
import org.apache.lucene.store.Directory;
@@ -206,16 +206,16 @@ public class TestNumericRangeQuery64 ext
@Test
public void testInverseRange() throws Exception {
- AtomicReaderContext context = (AtomicReaderContext) new SlowMultiReaderWrapper(searcher.getIndexReader()).getTopReaderContext();
+ AtomicReaderContext context = SlowCompositeReaderWrapper.wrap(searcher.getIndexReader()).getTopReaderContext();
NumericRangeFilter<Long> f = NumericRangeFilter.newLongRange("field8", 8, 1000L, -1000L, true, true);
assertSame("A inverse range should return the EMPTY_DOCIDSET instance", DocIdSet.EMPTY_DOCIDSET,
- f.getDocIdSet(context, context.reader.getLiveDocs()));
+ f.getDocIdSet(context, context.reader().getLiveDocs()));
f = NumericRangeFilter.newLongRange("field8", 8, Long.MAX_VALUE, null, false, false);
assertSame("A exclusive range starting with Long.MAX_VALUE should return the EMPTY_DOCIDSET instance",
- DocIdSet.EMPTY_DOCIDSET, f.getDocIdSet(context, context.reader.getLiveDocs()));
+ DocIdSet.EMPTY_DOCIDSET, f.getDocIdSet(context, context.reader().getLiveDocs()));
f = NumericRangeFilter.newLongRange("field8", 8, null, Long.MIN_VALUE, false, false);
assertSame("A exclusive range ending with Long.MIN_VALUE should return the EMPTY_DOCIDSET instance",
- DocIdSet.EMPTY_DOCIDSET, f.getDocIdSet(context, context.reader.getLiveDocs()));
+ DocIdSet.EMPTY_DOCIDSET, f.getDocIdSet(context, context.reader().getLiveDocs()));
}
@Test
Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestPositionIncrement.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestPositionIncrement.java?rev=1238085&r1=1238084&r2=1238085&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestPositionIncrement.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestPositionIncrement.java Mon Jan 30 23:34:03 2012
@@ -28,11 +28,12 @@ import org.apache.lucene.analysis.tokena
import org.apache.lucene.analysis.tokenattributes.CharTermAttribute;
import org.apache.lucene.document.Document;
import org.apache.lucene.document.TextField;
+import org.apache.lucene.index.AtomicReader;
import org.apache.lucene.index.MultiFields;
import org.apache.lucene.index.DocsAndPositionsEnum;
import org.apache.lucene.index.IndexReader;
import org.apache.lucene.index.RandomIndexWriter;
-import org.apache.lucene.index.SlowMultiReaderWrapper;
+import org.apache.lucene.index.SlowCompositeReaderWrapper;
import org.apache.lucene.index.Term;
import org.apache.lucene.store.Directory;
import org.apache.lucene.search.payloads.PayloadSpanUtil;
@@ -209,7 +210,7 @@ public class TestPositionIncrement exten
writer.addDocument(doc);
final IndexReader readerFromWriter = writer.getReader();
- SlowMultiReaderWrapper r = new SlowMultiReaderWrapper(readerFromWriter);
+ AtomicReader r = SlowCompositeReaderWrapper.wrap(readerFromWriter);
DocsAndPositionsEnum tp = r.termPositionsEnum(r.getLiveDocs(),
"content",
Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestScoreCachingWrappingScorer.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestScoreCachingWrappingScorer.java?rev=1238085&r1=1238084&r2=1238085&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestScoreCachingWrappingScorer.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestScoreCachingWrappingScorer.java Mon Jan 30 23:34:03 2012
@@ -19,9 +19,9 @@ package org.apache.lucene.search;
import java.io.IOException;
+import org.apache.lucene.index.AtomicReaderContext;
import org.apache.lucene.index.IndexReader;
import org.apache.lucene.index.RandomIndexWriter;
-import org.apache.lucene.index.IndexReader.AtomicReaderContext;
import org.apache.lucene.index.Term;
import org.apache.lucene.store.Directory;
import org.apache.lucene.util.LuceneTestCase;
Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestScorerPerf.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestScorerPerf.java?rev=1238085&r1=1238084&r2=1238085&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestScorerPerf.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestScorerPerf.java Mon Jan 30 23:34:03 2012
@@ -7,8 +7,8 @@ import org.apache.lucene.util.LuceneTest
import java.util.BitSet;
import java.io.IOException;
+import org.apache.lucene.index.AtomicReaderContext;
import org.apache.lucene.index.IndexReader;
-import org.apache.lucene.index.IndexReader.AtomicReaderContext;
import org.apache.lucene.index.IndexWriter;
import org.apache.lucene.index.Term;
import org.apache.lucene.index.IndexWriterConfig.OpenMode;
Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestShardSearching.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestShardSearching.java?rev=1238085&r1=1238084&r2=1238085&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestShardSearching.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestShardSearching.java Mon Jan 30 23:34:03 2012
@@ -22,6 +22,7 @@ import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
+import org.apache.lucene.index.CompositeReader;
import org.apache.lucene.index.IndexReader;
import org.apache.lucene.index.MultiFields;
import org.apache.lucene.index.MultiReader;
@@ -310,7 +311,7 @@ public class TestShardSearching extends
final int numNodes = shardSearcher.nodeVersions.length;
int[] base = new int[numNodes];
- final IndexReader[] subs = mockSearcher.getIndexReader().getSequentialSubReaders();
+ final IndexReader[] subs = ((CompositeReader) mockSearcher.getIndexReader()).getSequentialSubReaders();
assertEquals(numNodes, subs.length);
int docCount = 0;
Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestSimilarity.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestSimilarity.java?rev=1238085&r1=1238084&r2=1238085&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestSimilarity.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestSimilarity.java Mon Jan 30 23:34:03 2012
@@ -21,9 +21,9 @@ import org.apache.lucene.util.LuceneTest
import java.io.IOException;
+import org.apache.lucene.index.AtomicReaderContext;
import org.apache.lucene.index.FieldInvertState;
import org.apache.lucene.index.IndexReader;
-import org.apache.lucene.index.IndexReader.AtomicReaderContext;
import org.apache.lucene.index.Norm;
import org.apache.lucene.index.RandomIndexWriter;
import org.apache.lucene.index.Term;
Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestSloppyPhraseQuery.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestSloppyPhraseQuery.java?rev=1238085&r1=1238084&r2=1238085&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestSloppyPhraseQuery.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestSloppyPhraseQuery.java Mon Jan 30 23:34:03 2012
@@ -26,8 +26,8 @@ import org.apache.lucene.document.Docume
import org.apache.lucene.document.Field;
import org.apache.lucene.document.FieldType;
import org.apache.lucene.document.TextField;
+import org.apache.lucene.index.AtomicReaderContext;
import org.apache.lucene.index.IndexReader;
-import org.apache.lucene.index.IndexReader.AtomicReaderContext;
import org.apache.lucene.index.RandomIndexWriter;
import org.apache.lucene.index.Term;
import org.apache.lucene.store.Directory;
Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestSort.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestSort.java?rev=1238085&r1=1238084&r2=1238085&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestSort.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestSort.java Mon Jan 30 23:34:03 2012
@@ -32,8 +32,8 @@ import org.apache.lucene.document.FieldT
import org.apache.lucene.document.DocValuesField;
import org.apache.lucene.document.StringField;
import org.apache.lucene.document.TextField;
+import org.apache.lucene.index.AtomicReaderContext;
import org.apache.lucene.index.CorruptIndexException;
-import org.apache.lucene.index.IndexReader.AtomicReaderContext;
import org.apache.lucene.index.IndexReader;
import org.apache.lucene.index.IndexWriter;
import org.apache.lucene.index.IndexableField;
@@ -688,7 +688,7 @@ public class TestSort extends LuceneTest
@Override
public FieldComparator setNextReader(AtomicReaderContext context) throws IOException {
- docValues = FieldCache.DEFAULT.getInts(context.reader, "parser", testIntParser, false);
+ docValues = FieldCache.DEFAULT.getInts(context.reader(), "parser", testIntParser, false);
return this;
}
@@ -858,8 +858,8 @@ public class TestSort extends LuceneTest
@Override
public DocIdSet getDocIdSet (AtomicReaderContext context, Bits acceptDocs) {
assertNull("acceptDocs should be null, as we have no deletions", acceptDocs);
- BitSet bs = new BitSet(context.reader.maxDoc());
- bs.set(0, context.reader.maxDoc());
+ BitSet bs = new BitSet(context.reader().maxDoc());
+ bs.set(0, context.reader().maxDoc());
bs.set(docs1.scoreDocs[0].doc);
return new DocIdBitSet(bs);
}
Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestSubScorerFreqs.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestSubScorerFreqs.java?rev=1238085&r1=1238084&r2=1238085&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestSubScorerFreqs.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestSubScorerFreqs.java Mon Jan 30 23:34:03 2012
@@ -23,7 +23,6 @@ import java.util.*;
import org.apache.lucene.analysis.MockAnalyzer;
import org.apache.lucene.document.*;
import org.apache.lucene.index.*;
-import org.apache.lucene.index.IndexReader.AtomicReaderContext;
import org.apache.lucene.search.BooleanClause.Occur;
import org.apache.lucene.search.Scorer.ChildScorer;
import org.apache.lucene.store.*;
Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestTermScorer.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestTermScorer.java?rev=1238085&r1=1238084&r2=1238085&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestTermScorer.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestTermScorer.java Mon Jan 30 23:34:03 2012
@@ -24,10 +24,10 @@ import java.util.List;
import org.apache.lucene.analysis.MockAnalyzer;
import org.apache.lucene.document.Document;
import org.apache.lucene.document.TextField;
-import org.apache.lucene.index.IndexReader.AtomicReaderContext;
+import org.apache.lucene.index.AtomicReaderContext;
import org.apache.lucene.index.IndexReader;
import org.apache.lucene.index.RandomIndexWriter;
-import org.apache.lucene.index.SlowMultiReaderWrapper;
+import org.apache.lucene.index.SlowCompositeReaderWrapper;
import org.apache.lucene.index.Term;
import org.apache.lucene.search.similarities.DefaultSimilarityProvider;
import org.apache.lucene.store.Directory;
@@ -57,7 +57,7 @@ public class TestTermScorer extends Luce
.add(newField(FIELD, values[i], TextField.TYPE_STORED));
writer.addDocument(doc);
}
- indexReader = new SlowMultiReaderWrapper(writer.getReader());
+ indexReader = SlowCompositeReaderWrapper.wrap(writer.getReader());
writer.close();
indexSearcher = newSearcher(indexReader);
indexSearcher.setSimilarityProvider(new DefaultSimilarityProvider());
@@ -76,9 +76,9 @@ public class TestTermScorer extends Luce
TermQuery termQuery = new TermQuery(allTerm);
Weight weight = indexSearcher.createNormalizedWeight(termQuery);
- assertTrue(indexSearcher.getTopReaderContext().isAtomic);
+ assertTrue(indexSearcher.getTopReaderContext() instanceof AtomicReaderContext);
AtomicReaderContext context = (AtomicReaderContext)indexSearcher.getTopReaderContext();
- Scorer ts = weight.scorer(context, true, true, context.reader.getLiveDocs());
+ Scorer ts = weight.scorer(context, true, true, context.reader().getLiveDocs());
// we have 2 documents with the term all in them, one document for all the
// other values
final List<TestHit> docs = new ArrayList<TestHit>();
@@ -138,9 +138,9 @@ public class TestTermScorer extends Luce
TermQuery termQuery = new TermQuery(allTerm);
Weight weight = indexSearcher.createNormalizedWeight(termQuery);
- assertTrue(indexSearcher.getTopReaderContext().isAtomic);
+ assertTrue(indexSearcher.getTopReaderContext() instanceof AtomicReaderContext);
AtomicReaderContext context = (AtomicReaderContext) indexSearcher.getTopReaderContext();
- Scorer ts = weight.scorer(context, true, true, context.reader.getLiveDocs());
+ Scorer ts = weight.scorer(context, true, true, context.reader().getLiveDocs());
assertTrue("next did not return a doc",
ts.nextDoc() != DocIdSetIterator.NO_MORE_DOCS);
assertTrue("score is not correct", ts.score() == 1.6931472f);
@@ -157,9 +157,9 @@ public class TestTermScorer extends Luce
TermQuery termQuery = new TermQuery(allTerm);
Weight weight = indexSearcher.createNormalizedWeight(termQuery);
- assertTrue(indexSearcher.getTopReaderContext().isAtomic);
+ assertTrue(indexSearcher.getTopReaderContext() instanceof AtomicReaderContext);
AtomicReaderContext context = (AtomicReaderContext) indexSearcher.getTopReaderContext();
- Scorer ts = weight.scorer(context, true, true, context.reader.getLiveDocs());
+ Scorer ts = weight.scorer(context, true, true, context.reader().getLiveDocs());
assertTrue("Didn't skip", ts.advance(3) != DocIdSetIterator.NO_MORE_DOCS);
// The next doc should be doc 5
assertTrue("doc should be number 5", ts.docID() == 5);
Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestTimeLimitingCollector.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestTimeLimitingCollector.java?rev=1238085&r1=1238084&r2=1238085&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestTimeLimitingCollector.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestTimeLimitingCollector.java Mon Jan 30 23:34:03 2012
@@ -23,8 +23,8 @@ import java.util.BitSet;
import org.apache.lucene.analysis.MockAnalyzer;
import org.apache.lucene.document.Document;
import org.apache.lucene.document.TextField;
+import org.apache.lucene.index.AtomicReaderContext;
import org.apache.lucene.index.IndexReader;
-import org.apache.lucene.index.IndexReader.AtomicReaderContext;
import org.apache.lucene.index.RandomIndexWriter;
import org.apache.lucene.index.Term;
import org.apache.lucene.search.TimeLimitingCollector.TimeExceededException;
Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestTopDocsCollector.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestTopDocsCollector.java?rev=1238085&r1=1238084&r2=1238085&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestTopDocsCollector.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestTopDocsCollector.java Mon Jan 30 23:34:03 2012
@@ -20,8 +20,8 @@ package org.apache.lucene.search;
import java.io.IOException;
import org.apache.lucene.document.Document;
+import org.apache.lucene.index.AtomicReaderContext;
import org.apache.lucene.index.IndexReader;
-import org.apache.lucene.index.IndexReader.AtomicReaderContext;
import org.apache.lucene.index.RandomIndexWriter;
import org.apache.lucene.store.Directory;
import org.apache.lucene.util.LuceneTestCase;
Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestTopDocsMerge.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestTopDocsMerge.java?rev=1238085&r1=1238084&r2=1238085&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestTopDocsMerge.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestTopDocsMerge.java Mon Jan 30 23:34:03 2012
@@ -25,8 +25,11 @@ import org.apache.lucene.document.Docume
import org.apache.lucene.document.NumericField;
import org.apache.lucene.document.StringField;
import org.apache.lucene.document.TextField;
+import org.apache.lucene.index.AtomicReaderContext;
+import org.apache.lucene.index.CompositeReaderContext;
import org.apache.lucene.index.IndexReader;
import org.apache.lucene.index.RandomIndexWriter;
+import org.apache.lucene.index.IndexReaderContext;
import org.apache.lucene.index.Term;
import org.apache.lucene.store.Directory;
import org.apache.lucene.util.LuceneTestCase;
@@ -36,11 +39,11 @@ import org.apache.lucene.util._TestUtil;
public class TestTopDocsMerge extends LuceneTestCase {
private static class ShardSearcher extends IndexSearcher {
- private final IndexReader.AtomicReaderContext[] ctx;
+ private final AtomicReaderContext[] ctx;
- public ShardSearcher(IndexReader.AtomicReaderContext ctx, IndexReader.ReaderContext parent) {
+ public ShardSearcher(AtomicReaderContext ctx, CompositeReaderContext parent) {
super(parent);
- this.ctx = new IndexReader.AtomicReaderContext[] {ctx};
+ this.ctx = new AtomicReaderContext[] {ctx};
}
public void search(Weight weight, Collector collector) throws IOException {
@@ -116,20 +119,25 @@ public class TestTopDocsMerge extends Lu
// NOTE: sometimes reader has just one segment, which is
// important to test
final IndexSearcher searcher = newSearcher(reader);
- IndexReader[] subReaders = searcher.getIndexReader().getSequentialSubReaders();
- if (subReaders == null) {
- subReaders = new IndexReader[] {searcher.getIndexReader()};
- }
- final ShardSearcher[] subSearchers = new ShardSearcher[subReaders.length];
- final IndexReader.ReaderContext ctx = searcher.getTopReaderContext();
-
- if (ctx instanceof IndexReader.AtomicReaderContext) {
- assert subSearchers.length == 1;
- subSearchers[0] = new ShardSearcher((IndexReader.AtomicReaderContext) ctx, ctx);
+ final IndexReaderContext ctx = searcher.getTopReaderContext();
+
+ final ShardSearcher[] subSearchers;
+ final int[] docStarts;
+
+ if (ctx instanceof AtomicReaderContext) {
+ subSearchers = new ShardSearcher[1];
+ docStarts = new int[1];
+ subSearchers[0] = new ShardSearcher((AtomicReaderContext) ctx, null);
+ docStarts[0] = 0;
} else {
- final IndexReader.CompositeReaderContext compCTX = (IndexReader.CompositeReaderContext) ctx;
+ final CompositeReaderContext compCTX = (CompositeReaderContext) ctx;
+ subSearchers = new ShardSearcher[compCTX.leaves().length];
+ docStarts = new int[compCTX.leaves().length];
+ int docBase = 0;
for(int searcherIDX=0;searcherIDX<subSearchers.length;searcherIDX++) {
- subSearchers[searcherIDX] = new ShardSearcher(compCTX.leaves[searcherIDX], compCTX);
+ subSearchers[searcherIDX] = new ShardSearcher(compCTX.leaves()[searcherIDX], compCTX);
+ docStarts[searcherIDX] = docBase;
+ docBase += compCTX.leaves()[searcherIDX].reader().maxDoc();
}
}
@@ -145,14 +153,6 @@ public class TestTopDocsMerge extends Lu
sortFields.add(new SortField(null, SortField.Type.DOC, true));
sortFields.add(new SortField(null, SortField.Type.DOC, false));
- final int[] docStarts = new int[subSearchers.length];
- int docBase = 0;
- for(int subIDX=0;subIDX<docStarts.length;subIDX++) {
- docStarts[subIDX] = docBase;
- docBase += subReaders[subIDX].maxDoc();
- //System.out.println("docStarts[" + subIDX + "]=" + docStarts[subIDX]);
- }
-
for(int iter=0;iter<1000*RANDOM_MULTIPLIER;iter++) {
// TODO: custom FieldComp...
Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/similarities/TestSimilarity2.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/similarities/TestSimilarity2.java?rev=1238085&r1=1238084&r2=1238085&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/similarities/TestSimilarity2.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/similarities/TestSimilarity2.java Mon Jan 30 23:34:03 2012
@@ -27,7 +27,6 @@ import org.apache.lucene.document.Field;
import org.apache.lucene.document.FieldType;
import org.apache.lucene.document.TextField;
import org.apache.lucene.index.FieldInfo.IndexOptions;
-import org.apache.lucene.index.IndexReader.AtomicReaderContext;
import org.apache.lucene.index.IndexReader;
import org.apache.lucene.index.IndexWriterConfig;
import org.apache.lucene.index.RandomIndexWriter;
Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/spans/JustCompileSearchSpans.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/spans/JustCompileSearchSpans.java?rev=1238085&r1=1238084&r2=1238085&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/spans/JustCompileSearchSpans.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/spans/JustCompileSearchSpans.java Mon Jan 30 23:34:03 2012
@@ -21,8 +21,8 @@ import java.io.IOException;
import java.util.Collection;
import java.util.Map;
+import org.apache.lucene.index.AtomicReaderContext;
import org.apache.lucene.index.Term;
-import org.apache.lucene.index.IndexReader.AtomicReaderContext;
import org.apache.lucene.search.Weight;
import org.apache.lucene.search.similarities.Similarity;
import org.apache.lucene.util.Bits;
Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/spans/MultiSpansWrapper.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/spans/MultiSpansWrapper.java?rev=1238085&r1=1238084&r2=1238085&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/spans/MultiSpansWrapper.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/spans/MultiSpansWrapper.java Mon Jan 30 23:34:03 2012
@@ -24,10 +24,10 @@ import java.util.HashMap;
import java.util.Map;
import java.util.TreeSet;
+import org.apache.lucene.index.AtomicReaderContext;
import org.apache.lucene.index.DocsEnum;
+import org.apache.lucene.index.IndexReaderContext;
import org.apache.lucene.index.Term;
-import org.apache.lucene.index.IndexReader.AtomicReaderContext;
-import org.apache.lucene.index.IndexReader.ReaderContext;
import org.apache.lucene.util.ReaderUtil;
import org.apache.lucene.util.TermContext;
@@ -53,7 +53,7 @@ public class MultiSpansWrapper extends S
}
- public static Spans wrap(ReaderContext topLevelReaderContext, SpanQuery query) throws IOException {
+ public static Spans wrap(IndexReaderContext topLevelReaderContext, SpanQuery query) throws IOException {
Map<Term,TermContext> termContexts = new HashMap<Term,TermContext>();
TreeSet<Term> terms = new TreeSet<Term>();
query.extractTerms(terms);
@@ -62,7 +62,7 @@ public class MultiSpansWrapper extends S
}
AtomicReaderContext[] leaves = ReaderUtil.leaves(topLevelReaderContext);
if(leaves.length == 1) {
- return query.getSpans(leaves[0], leaves[0].reader.getLiveDocs(), termContexts);
+ return query.getSpans(leaves[0], leaves[0].reader().getLiveDocs(), termContexts);
}
return new MultiSpansWrapper(leaves, query, termContexts);
}
@@ -73,14 +73,14 @@ public class MultiSpansWrapper extends S
return false;
}
if (current == null) {
- current = query.getSpans(leaves[leafOrd], leaves[leafOrd].reader.getLiveDocs(), termContexts);
+ current = query.getSpans(leaves[leafOrd], leaves[leafOrd].reader().getLiveDocs(), termContexts);
}
while(true) {
if (current.next()) {
return true;
}
if (++leafOrd < leaves.length) {
- current = query.getSpans(leaves[leafOrd], leaves[leafOrd].reader.getLiveDocs(), termContexts);
+ current = query.getSpans(leaves[leafOrd], leaves[leafOrd].reader().getLiveDocs(), termContexts);
} else {
current = null;
break;
@@ -98,17 +98,17 @@ public class MultiSpansWrapper extends S
int subIndex = ReaderUtil.subIndex(target, leaves);
assert subIndex >= leafOrd;
if (subIndex != leafOrd) {
- current = query.getSpans(leaves[subIndex], leaves[subIndex].reader.getLiveDocs(), termContexts);
+ current = query.getSpans(leaves[subIndex], leaves[subIndex].reader().getLiveDocs(), termContexts);
leafOrd = subIndex;
} else if (current == null) {
- current = query.getSpans(leaves[leafOrd], leaves[leafOrd].reader.getLiveDocs(), termContexts);
+ current = query.getSpans(leaves[leafOrd], leaves[leafOrd].reader().getLiveDocs(), termContexts);
}
while (true) {
if (current.skipTo(target - leaves[leafOrd].docBase)) {
return true;
}
if (++leafOrd < leaves.length) {
- current = query.getSpans(leaves[leafOrd], leaves[leafOrd].reader.getLiveDocs(), termContexts);
+ current = query.getSpans(leaves[leafOrd], leaves[leafOrd].reader().getLiveDocs(), termContexts);
} else {
current = null;
break;
Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/spans/TestNearSpansOrdered.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/spans/TestNearSpansOrdered.java?rev=1238085&r1=1238084&r2=1238085&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/spans/TestNearSpansOrdered.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/spans/TestNearSpansOrdered.java Mon Jan 30 23:34:03 2012
@@ -20,10 +20,10 @@ package org.apache.lucene.search.spans;
import org.apache.lucene.analysis.MockAnalyzer;
import org.apache.lucene.document.Document;
import org.apache.lucene.document.TextField;
+import org.apache.lucene.index.AtomicReaderContext;
import org.apache.lucene.index.IndexReader;
-import org.apache.lucene.index.IndexReader.AtomicReaderContext;
-import org.apache.lucene.index.IndexReader.ReaderContext;
import org.apache.lucene.index.RandomIndexWriter;
+import org.apache.lucene.index.IndexReaderContext;
import org.apache.lucene.index.Term;
import org.apache.lucene.search.CheckHits;
import org.apache.lucene.search.Explanation;
@@ -166,9 +166,9 @@ public class TestNearSpansOrdered extend
public void testSpanNearScorerSkipTo1() throws Exception {
SpanNearQuery q = makeQuery();
Weight w = searcher.createNormalizedWeight(q);
- ReaderContext topReaderContext = searcher.getTopReaderContext();
+ IndexReaderContext topReaderContext = searcher.getTopReaderContext();
AtomicReaderContext[] leaves = ReaderUtil.leaves(topReaderContext);
- Scorer s = w.scorer(leaves[0], true, false, leaves[0].reader.getLiveDocs());
+ Scorer s = w.scorer(leaves[0], true, false, leaves[0].reader().getLiveDocs());
assertEquals(1, s.advance(1));
}
Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/spans/TestSpans.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/spans/TestSpans.java?rev=1238085&r1=1238084&r2=1238085&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/spans/TestSpans.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/spans/TestSpans.java Mon Jan 30 23:34:03 2012
@@ -29,12 +29,12 @@ import org.apache.lucene.search.similari
import org.apache.lucene.search.similarities.SimilarityProvider;
import org.apache.lucene.store.Directory;
import org.apache.lucene.analysis.MockAnalyzer;
-import org.apache.lucene.index.IndexReader.ReaderContext;
+import org.apache.lucene.index.AtomicReaderContext;
import org.apache.lucene.index.IndexWriter;
import org.apache.lucene.index.IndexReader;
-import org.apache.lucene.index.IndexReader.AtomicReaderContext;
import org.apache.lucene.index.IndexWriterConfig;
import org.apache.lucene.index.RandomIndexWriter;
+import org.apache.lucene.index.IndexReaderContext;
import org.apache.lucene.index.Term;
import org.apache.lucene.document.Document;
import org.apache.lucene.document.StringField;
@@ -405,7 +405,7 @@ public class TestSpans extends LuceneTes
public void testSpanScorerZeroSloppyFreq() throws Exception {
boolean ordered = true;
int slop = 1;
- ReaderContext topReaderContext = searcher.getTopReaderContext();
+ IndexReaderContext topReaderContext = searcher.getTopReaderContext();
AtomicReaderContext[] leaves = ReaderUtil.leaves(topReaderContext);
int subIndex = ReaderUtil.subIndex(11, leaves);
for (int i = 0; i < leaves.length; i++) {
@@ -433,7 +433,7 @@ public class TestSpans extends LuceneTes
slop,
ordered);
- spanScorer = searcher.createNormalizedWeight(snq).scorer(leaves[i], true, false, leaves[i].reader.getLiveDocs());
+ spanScorer = searcher.createNormalizedWeight(snq).scorer(leaves[i], true, false, leaves[i].reader().getLiveDocs());
} finally {
searcher.setSimilarityProvider(oldSim);
}
Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/store/TestNRTCachingDirectory.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/store/TestNRTCachingDirectory.java?rev=1238085&r1=1238084&r2=1238085&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/store/TestNRTCachingDirectory.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/store/TestNRTCachingDirectory.java Mon Jan 30 23:34:03 2012
@@ -26,6 +26,7 @@ import java.util.List;
import org.apache.lucene.analysis.Analyzer;
import org.apache.lucene.analysis.MockAnalyzer;
import org.apache.lucene.document.Document;
+import org.apache.lucene.index.DirectoryReader;
import org.apache.lucene.index.IndexReader;
import org.apache.lucene.index.IndexWriter;
import org.apache.lucene.index.IndexWriterConfig;
@@ -55,7 +56,7 @@ public class TestNRTCachingDirectory ext
}
final List<BytesRef> ids = new ArrayList<BytesRef>();
- IndexReader r = null;
+ DirectoryReader r = null;
for(int docCount=0;docCount<numDocs;docCount++) {
final Document doc = docs.nextDoc();
ids.add(new BytesRef(doc.get("docid")));
@@ -64,7 +65,7 @@ public class TestNRTCachingDirectory ext
if (r == null) {
r = IndexReader.open(w.w, false);
} else {
- final IndexReader r2 = IndexReader.openIfChanged(r);
+ final DirectoryReader r2 = DirectoryReader.openIfChanged(r);
if (r2 != null) {
r.close();
r = r2;
Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/util/TestFieldCacheSanityChecker.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/util/TestFieldCacheSanityChecker.java?rev=1238085&r1=1238084&r2=1238085&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/util/TestFieldCacheSanityChecker.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/util/TestFieldCacheSanityChecker.java Mon Jan 30 23:34:03 2012
@@ -20,10 +20,11 @@ import org.apache.lucene.analysis.MockAn
import org.apache.lucene.document.Document;
import org.apache.lucene.document.StringField;
import org.apache.lucene.search.FieldCache;
-import org.apache.lucene.index.IndexReader;
+import org.apache.lucene.index.AtomicReader;
+import org.apache.lucene.index.DirectoryReader;
import org.apache.lucene.index.MultiReader;
import org.apache.lucene.index.IndexWriter;
-import org.apache.lucene.index.SlowMultiReaderWrapper;
+import org.apache.lucene.index.SlowCompositeReaderWrapper;
import org.apache.lucene.store.Directory;
import org.apache.lucene.util.FieldCacheSanityChecker.Insanity;
import org.apache.lucene.util.FieldCacheSanityChecker.InsanityType;
@@ -32,9 +33,10 @@ import java.io.IOException;
public class TestFieldCacheSanityChecker extends LuceneTestCase {
- protected IndexReader readerA;
- protected IndexReader readerB;
- protected IndexReader readerX;
+ protected AtomicReader readerA;
+ protected AtomicReader readerB;
+ protected AtomicReader readerX;
+ protected AtomicReader readerAclone;
protected Directory dirA, dirB;
private static final int NUM_DOCS = 1000;
@@ -69,14 +71,18 @@ public class TestFieldCacheSanityChecker
}
wA.close();
wB.close();
- readerA = IndexReader.open(dirA);
- readerB = IndexReader.open(dirB);
- readerX = new MultiReader(readerA, readerB);
+ DirectoryReader rA = DirectoryReader.open(dirA);
+ readerA = SlowCompositeReaderWrapper.wrap(rA);
+ readerAclone = SlowCompositeReaderWrapper.wrap(rA);
+ readerA = SlowCompositeReaderWrapper.wrap(DirectoryReader.open(dirA));
+ readerB = SlowCompositeReaderWrapper.wrap(DirectoryReader.open(dirB));
+ readerX = SlowCompositeReaderWrapper.wrap(new MultiReader(readerA, readerB));
}
@Override
public void tearDown() throws Exception {
readerA.close();
+ readerAclone.close();
readerB.close();
readerX.close();
dirA.close();
@@ -88,12 +94,13 @@ public class TestFieldCacheSanityChecker
FieldCache cache = FieldCache.DEFAULT;
cache.purgeAllCaches();
- cache.getDoubles(new SlowMultiReaderWrapper(readerA), "theDouble", false);
- cache.getDoubles(new SlowMultiReaderWrapper(readerA), "theDouble", FieldCache.DEFAULT_DOUBLE_PARSER, false);
- cache.getDoubles(new SlowMultiReaderWrapper(readerB), "theDouble", FieldCache.DEFAULT_DOUBLE_PARSER, false);
+ cache.getDoubles(readerA, "theDouble", false);
+ cache.getDoubles(readerA, "theDouble", FieldCache.DEFAULT_DOUBLE_PARSER, false);
+ cache.getDoubles(readerAclone, "theDouble", FieldCache.DEFAULT_DOUBLE_PARSER, false);
+ cache.getDoubles(readerB, "theDouble", FieldCache.DEFAULT_DOUBLE_PARSER, false);
- cache.getInts(new SlowMultiReaderWrapper(readerX), "theInt", false);
- cache.getInts(new SlowMultiReaderWrapper(readerX), "theInt", FieldCache.DEFAULT_INT_PARSER, false);
+ cache.getInts(readerX, "theInt", false);
+ cache.getInts(readerX, "theInt", FieldCache.DEFAULT_INT_PARSER, false);
// // //
@@ -111,9 +118,9 @@ public class TestFieldCacheSanityChecker
FieldCache cache = FieldCache.DEFAULT;
cache.purgeAllCaches();
- cache.getInts(new SlowMultiReaderWrapper(readerX), "theInt", FieldCache.DEFAULT_INT_PARSER, false);
- cache.getTerms(new SlowMultiReaderWrapper(readerX), "theInt");
- cache.getBytes(new SlowMultiReaderWrapper(readerX), "theByte", false);
+ cache.getInts(readerX, "theInt", FieldCache.DEFAULT_INT_PARSER, false);
+ cache.getTerms(readerX, "theInt");
+ cache.getBytes(readerX, "theByte", false);
// // //
@@ -131,36 +138,4 @@ public class TestFieldCacheSanityChecker
cache.purgeAllCaches();
}
- public void testInsanity2() throws IOException {
- FieldCache cache = FieldCache.DEFAULT;
- cache.purgeAllCaches();
-
- cache.getTerms(new SlowMultiReaderWrapper(readerA), "theString");
- cache.getTerms(new SlowMultiReaderWrapper(readerB), "theString");
- cache.getTerms(new SlowMultiReaderWrapper(readerX), "theString");
-
- cache.getBytes(new SlowMultiReaderWrapper(readerX), "theByte", false);
-
-
- // // //
-
- Insanity[] insanity =
- FieldCacheSanityChecker.checkSanity(cache.getCacheEntries());
-
- assertEquals("wrong number of cache errors", 1, insanity.length);
- assertEquals("wrong type of cache error",
- InsanityType.SUBREADER,
- insanity[0].getType());
- assertEquals("wrong number of entries in cache error", 3,
- insanity[0].getCacheEntries().length);
-
- // we expect bad things, don't let tearDown complain about them
- cache.purgeAllCaches();
- }
-
- public void testInsanity3() throws IOException {
-
- // :TODO: subreader tree walking is really hairy ... add more crazy tests.
- }
-
}
Modified: lucene/dev/trunk/modules/analysis/common/src/java/org/apache/lucene/analysis/query/QueryAutoStopWordAnalyzer.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/modules/analysis/common/src/java/org/apache/lucene/analysis/query/QueryAutoStopWordAnalyzer.java?rev=1238085&r1=1238084&r2=1238085&view=diff
==============================================================================
--- lucene/dev/trunk/modules/analysis/common/src/java/org/apache/lucene/analysis/query/QueryAutoStopWordAnalyzer.java (original)
+++ lucene/dev/trunk/modules/analysis/common/src/java/org/apache/lucene/analysis/query/QueryAutoStopWordAnalyzer.java Mon Jan 30 23:34:03 2012
@@ -29,7 +29,6 @@ import org.apache.lucene.index.Terms;
import org.apache.lucene.index.TermsEnum;
import org.apache.lucene.util.BytesRef;
import org.apache.lucene.util.CharsRef;
-import org.apache.lucene.util.ReaderUtil;
import org.apache.lucene.util.UnicodeUtil;
import org.apache.lucene.util.Version;
@@ -85,7 +84,7 @@ public final class QueryAutoStopWordAnal
Analyzer delegate,
IndexReader indexReader,
int maxDocFreq) throws IOException {
- this(matchVersion, delegate, indexReader, ReaderUtil.getIndexedFields(indexReader), maxDocFreq);
+ this(matchVersion, delegate, indexReader, MultiFields.getIndexedFields(indexReader), maxDocFreq);
}
/**
@@ -105,7 +104,7 @@ public final class QueryAutoStopWordAnal
Analyzer delegate,
IndexReader indexReader,
float maxPercentDocs) throws IOException {
- this(matchVersion, delegate, indexReader, ReaderUtil.getIndexedFields(indexReader), maxPercentDocs);
+ this(matchVersion, delegate, indexReader, MultiFields.getIndexedFields(indexReader), maxPercentDocs);
}
/**
Modified: lucene/dev/trunk/modules/benchmark/src/java/org/apache/lucene/benchmark/byTask/PerfRunData.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/modules/benchmark/src/java/org/apache/lucene/benchmark/byTask/PerfRunData.java?rev=1238085&r1=1238084&r2=1238085&view=diff
==============================================================================
--- lucene/dev/trunk/modules/benchmark/src/java/org/apache/lucene/benchmark/byTask/PerfRunData.java (original)
+++ lucene/dev/trunk/modules/benchmark/src/java/org/apache/lucene/benchmark/byTask/PerfRunData.java Mon Jan 30 23:34:03 2012
@@ -37,6 +37,7 @@ import org.apache.lucene.benchmark.byTas
import org.apache.lucene.benchmark.byTask.tasks.NewAnalyzerTask;
import org.apache.lucene.facet.taxonomy.TaxonomyReader;
import org.apache.lucene.facet.taxonomy.TaxonomyWriter;
+import org.apache.lucene.index.DirectoryReader;
import org.apache.lucene.index.IndexReader;
import org.apache.lucene.index.IndexWriter;
import org.apache.lucene.search.IndexSearcher;
@@ -90,7 +91,7 @@ public class PerfRunData implements Clos
private HashMap<Class<? extends ReadTask>,QueryMaker> readTaskQueryMaker;
private Class<? extends QueryMaker> qmkrClass;
- private IndexReader indexReader;
+ private DirectoryReader indexReader;
private IndexSearcher indexSearcher;
private IndexWriter indexWriter;
private Config config;
@@ -288,7 +289,7 @@ public class PerfRunData implements Clos
* reference. You must call IndexReader.decRef() when
* you're done.
*/
- public synchronized IndexReader getIndexReader() {
+ public synchronized DirectoryReader getIndexReader() {
if (indexReader != null) {
indexReader.incRef();
}
@@ -314,7 +315,7 @@ public class PerfRunData implements Clos
* the reader will remain open).
* @param indexReader The indexReader to set.
*/
- public synchronized void setIndexReader(IndexReader indexReader) throws IOException {
+ public synchronized void setIndexReader(DirectoryReader indexReader) throws IOException {
if (indexReader == this.indexReader) {
return;
}
Modified: lucene/dev/trunk/modules/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/NearRealtimeReaderTask.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/modules/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/NearRealtimeReaderTask.java?rev=1238085&r1=1238084&r2=1238085&view=diff
==============================================================================
--- lucene/dev/trunk/modules/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/NearRealtimeReaderTask.java (original)
+++ lucene/dev/trunk/modules/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/NearRealtimeReaderTask.java Mon Jan 30 23:34:03 2012
@@ -18,6 +18,7 @@ package org.apache.lucene.benchmark.byTa
*/
import org.apache.lucene.benchmark.byTask.PerfRunData;
+import org.apache.lucene.index.DirectoryReader;
import org.apache.lucene.index.IndexReader;
import org.apache.lucene.index.IndexWriter;
import org.apache.lucene.util.ArrayUtil;
@@ -59,7 +60,7 @@ public class NearRealtimeReaderTask exte
}
long t = System.currentTimeMillis();
- IndexReader r = IndexReader.open(w, true);
+ DirectoryReader r = IndexReader.open(w, true);
runData.setIndexReader(r);
// Transfer our reference to runData
r.decRef();
@@ -77,7 +78,7 @@ public class NearRealtimeReaderTask exte
}
t = System.currentTimeMillis();
- final IndexReader newReader = IndexReader.openIfChanged(r);
+ final DirectoryReader newReader = DirectoryReader.openIfChanged(r);
if (newReader != null) {
final int delay = (int) (System.currentTimeMillis()-t);
if (reopenTimes.length == reopenCount) {
Modified: lucene/dev/trunk/modules/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/OpenReaderTask.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/modules/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/OpenReaderTask.java?rev=1238085&r1=1238084&r2=1238085&view=diff
==============================================================================
--- lucene/dev/trunk/modules/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/OpenReaderTask.java (original)
+++ lucene/dev/trunk/modules/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/OpenReaderTask.java Mon Jan 30 23:34:03 2012
@@ -22,6 +22,7 @@ import java.util.Collection;
import java.util.Map;
import org.apache.lucene.benchmark.byTask.PerfRunData;
+import org.apache.lucene.index.DirectoryReader;
import org.apache.lucene.index.IndexCommit;
import org.apache.lucene.index.IndexReader;
import org.apache.lucene.store.Directory;
@@ -42,7 +43,7 @@ public class OpenReaderTask extends Perf
@Override
public int doLogic() throws IOException {
Directory dir = getRunData().getDirectory();
- IndexReader r = null;
+ DirectoryReader r = null;
if (commitUserData != null) {
r = IndexReader.open(OpenReaderTask.findIndexCommit(dir, commitUserData));
} else {
@@ -71,7 +72,7 @@ public class OpenReaderTask extends Perf
}
public static IndexCommit findIndexCommit(Directory dir, String userData) throws IOException {
- Collection<IndexCommit> commits = IndexReader.listCommits(dir);
+ Collection<IndexCommit> commits = DirectoryReader.listCommits(dir);
for (final IndexCommit ic : commits) {
Map<String,String> map = ic.getUserData();
String ud = null;
Modified: lucene/dev/trunk/modules/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/ReopenReaderTask.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/modules/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/ReopenReaderTask.java?rev=1238085&r1=1238084&r2=1238085&view=diff
==============================================================================
--- lucene/dev/trunk/modules/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/ReopenReaderTask.java (original)
+++ lucene/dev/trunk/modules/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/ReopenReaderTask.java Mon Jan 30 23:34:03 2012
@@ -20,6 +20,7 @@ package org.apache.lucene.benchmark.byTa
import java.io.IOException;
import org.apache.lucene.benchmark.byTask.PerfRunData;
+import org.apache.lucene.index.DirectoryReader;
import org.apache.lucene.index.IndexReader;
/**
@@ -33,8 +34,8 @@ public class ReopenReaderTask extends Pe
@Override
public int doLogic() throws IOException {
- IndexReader r = getRunData().getIndexReader();
- IndexReader nr = IndexReader.openIfChanged(r);
+ DirectoryReader r = getRunData().getIndexReader();
+ DirectoryReader nr = DirectoryReader.openIfChanged(r);
if (nr != null) {
getRunData().setIndexReader(nr);
nr.decRef();
Modified: lucene/dev/trunk/modules/benchmark/src/test/org/apache/lucene/benchmark/byTask/TestPerfTasksLogic.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/modules/benchmark/src/test/org/apache/lucene/benchmark/byTask/TestPerfTasksLogic.java?rev=1238085&r1=1238084&r2=1238085&view=diff
==============================================================================
--- lucene/dev/trunk/modules/benchmark/src/test/org/apache/lucene/benchmark/byTask/TestPerfTasksLogic.java (original)
+++ lucene/dev/trunk/modules/benchmark/src/test/org/apache/lucene/benchmark/byTask/TestPerfTasksLogic.java Mon Jan 30 23:34:03 2012
@@ -39,6 +39,7 @@ import org.apache.lucene.benchmark.byTas
import org.apache.lucene.benchmark.byTask.tasks.WriteLineDocTask;
import org.apache.lucene.collation.CollationKeyAnalyzer;
import org.apache.lucene.facet.taxonomy.TaxonomyReader;
+import org.apache.lucene.index.DirectoryReader;
import org.apache.lucene.index.DocsEnum;
import org.apache.lucene.index.Fields;
import org.apache.lucene.index.FieldsEnum;
@@ -51,7 +52,7 @@ import org.apache.lucene.index.LogMergeP
import org.apache.lucene.index.MultiFields;
import org.apache.lucene.index.SegmentInfos;
import org.apache.lucene.index.SerialMergeScheduler;
-import org.apache.lucene.index.SlowMultiReaderWrapper;
+import org.apache.lucene.index.SlowCompositeReaderWrapper;
import org.apache.lucene.index.Terms;
import org.apache.lucene.index.TermsEnum;
import org.apache.lucene.search.FieldCache.DocTermsIndex;
@@ -97,7 +98,7 @@ public class TestPerfTasksLogic extends
// 4. test specific checks after the benchmark run completed.
assertEquals("TestSearchTask was supposed to be called!",279,CountingSearchTestTask.numSearches);
- assertTrue("Index does not exist?...!", IndexReader.indexExists(benchmark.getRunData().getDirectory()));
+ assertTrue("Index does not exist?...!", DirectoryReader.indexExists(benchmark.getRunData().getDirectory()));
// now we should be able to open the index for write.
IndexWriter iw = new IndexWriter(benchmark.getRunData().getDirectory(),
new IndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer(random))
@@ -185,7 +186,7 @@ public class TestPerfTasksLogic extends
//we probably should use a different doc/query maker, but...
assertTrue("TestSearchTask was supposed to be called!", CountingHighlighterTestTask.numDocsRetrieved >= CountingHighlighterTestTask.numHighlightedResults && CountingHighlighterTestTask.numHighlightedResults > 0);
- assertTrue("Index does not exist?...!", IndexReader.indexExists(benchmark.getRunData().getDirectory()));
+ assertTrue("Index does not exist?...!", DirectoryReader.indexExists(benchmark.getRunData().getDirectory()));
// now we should be able to open the index for write.
IndexWriter iw = new IndexWriter(benchmark.getRunData().getDirectory(), new IndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer(random)).setOpenMode(OpenMode.APPEND));
iw.close();
@@ -224,7 +225,7 @@ public class TestPerfTasksLogic extends
//we probably should use a different doc/query maker, but...
assertTrue("TestSearchTask was supposed to be called!", CountingHighlighterTestTask.numDocsRetrieved >= CountingHighlighterTestTask.numHighlightedResults && CountingHighlighterTestTask.numHighlightedResults > 0);
- assertTrue("Index does not exist?...!", IndexReader.indexExists(benchmark.getRunData().getDirectory()));
+ assertTrue("Index does not exist?...!", DirectoryReader.indexExists(benchmark.getRunData().getDirectory()));
// now we should be able to open the index for write.
IndexWriter iw = new IndexWriter(benchmark.getRunData().getDirectory(), new IndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer(random)).setOpenMode(OpenMode.APPEND));
iw.close();
@@ -297,7 +298,7 @@ public class TestPerfTasksLogic extends
// 4. test specific checks after the benchmark run completed.
assertEquals("TestSearchTask was supposed to be called!",139,CountingSearchTestTask.numSearches);
- assertTrue("Index does not exist?...!", IndexReader.indexExists(benchmark.getRunData().getDirectory()));
+ assertTrue("Index does not exist?...!", DirectoryReader.indexExists(benchmark.getRunData().getDirectory()));
// now we should be able to open the index for write.
IndexWriter iw = new IndexWriter(benchmark.getRunData().getDirectory(), new IndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer(random)).setOpenMode(OpenMode.APPEND));
iw.close();
@@ -332,8 +333,8 @@ public class TestPerfTasksLogic extends
// 3. execute the algorithm (required in every "logic" test)
Benchmark benchmark = execBenchmark(algLines);
- IndexReader r = IndexReader.open(benchmark.getRunData().getDirectory());
- DocTermsIndex idx = FieldCache.DEFAULT.getTermsIndex(new SlowMultiReaderWrapper(r), "country");
+ DirectoryReader r = IndexReader.open(benchmark.getRunData().getDirectory());
+ DocTermsIndex idx = FieldCache.DEFAULT.getTermsIndex(new SlowCompositeReaderWrapper(r), "country");
final int maxDoc = r.maxDoc();
assertEquals(1000, maxDoc);
BytesRef br = new BytesRef();
Modified: lucene/dev/trunk/modules/facet/src/java/org/apache/lucene/facet/search/FacetsAccumulator.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/modules/facet/src/java/org/apache/lucene/facet/search/FacetsAccumulator.java?rev=1238085&r1=1238084&r2=1238085&view=diff
==============================================================================
--- lucene/dev/trunk/modules/facet/src/java/org/apache/lucene/facet/search/FacetsAccumulator.java (original)
+++ lucene/dev/trunk/modules/facet/src/java/org/apache/lucene/facet/search/FacetsAccumulator.java Mon Jan 30 23:34:03 2012
@@ -98,12 +98,6 @@ public abstract class FacetsAccumulator
* is considered, and used to decrement from the overall counts, thereby
* walking through less documents, which is faster.
* <p>
- * Note that this optimization is only available when searching an index
- * whose {@link IndexReader} implements both
- * {@link IndexReader#directory()} and {@link IndexReader#getVersion()}
- * otherwise the optimization is silently disabled regardless of
- * the complement threshold settings.
- * <p>
* For the default settings see {@link #DEFAULT_COMPLEMENT_THRESHOLD}.
* <p>
* To forcing complements in all cases pass {@link #FORCE_COMPLEMENT}.
Modified: lucene/dev/trunk/modules/facet/src/java/org/apache/lucene/facet/search/FacetsCollector.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/modules/facet/src/java/org/apache/lucene/facet/search/FacetsCollector.java?rev=1238085&r1=1238084&r2=1238085&view=diff
==============================================================================
--- lucene/dev/trunk/modules/facet/src/java/org/apache/lucene/facet/search/FacetsCollector.java (original)
+++ lucene/dev/trunk/modules/facet/src/java/org/apache/lucene/facet/search/FacetsCollector.java Mon Jan 30 23:34:03 2012
@@ -3,8 +3,8 @@ package org.apache.lucene.facet.search;
import java.io.IOException;
import java.util.List;
+import org.apache.lucene.index.AtomicReaderContext;
import org.apache.lucene.index.IndexReader;
-import org.apache.lucene.index.IndexReader.AtomicReaderContext;
import org.apache.lucene.search.Collector;
import org.apache.lucene.search.Scorer;
Modified: lucene/dev/trunk/modules/facet/src/java/org/apache/lucene/facet/search/ScoredDocIdCollector.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/modules/facet/src/java/org/apache/lucene/facet/search/ScoredDocIdCollector.java?rev=1238085&r1=1238084&r2=1238085&view=diff
==============================================================================
--- lucene/dev/trunk/modules/facet/src/java/org/apache/lucene/facet/search/ScoredDocIdCollector.java (original)
+++ lucene/dev/trunk/modules/facet/src/java/org/apache/lucene/facet/search/ScoredDocIdCollector.java Mon Jan 30 23:34:03 2012
@@ -2,8 +2,8 @@ package org.apache.lucene.facet.search;
import java.io.IOException;
+import org.apache.lucene.index.AtomicReaderContext;
import org.apache.lucene.index.IndexReader;
-import org.apache.lucene.index.IndexReader.AtomicReaderContext;
import org.apache.lucene.search.Collector;
import org.apache.lucene.search.DocIdSet;
import org.apache.lucene.search.DocIdSetIterator;
Modified: lucene/dev/trunk/modules/facet/src/java/org/apache/lucene/facet/taxonomy/directory/DirectoryTaxonomyReader.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/modules/facet/src/java/org/apache/lucene/facet/taxonomy/directory/DirectoryTaxonomyReader.java?rev=1238085&r1=1238084&r2=1238085&view=diff
==============================================================================
--- lucene/dev/trunk/modules/facet/src/java/org/apache/lucene/facet/taxonomy/directory/DirectoryTaxonomyReader.java (original)
+++ lucene/dev/trunk/modules/facet/src/java/org/apache/lucene/facet/taxonomy/directory/DirectoryTaxonomyReader.java Mon Jan 30 23:34:03 2012
@@ -15,6 +15,7 @@ import org.apache.lucene.facet.taxonomy.
import org.apache.lucene.facet.taxonomy.TaxonomyReader;
import org.apache.lucene.facet.taxonomy.directory.Consts.LoadFullPathOnly;
import org.apache.lucene.index.CorruptIndexException;
+import org.apache.lucene.index.DirectoryReader;
import org.apache.lucene.index.DocsEnum;
import org.apache.lucene.index.IndexReader;
import org.apache.lucene.index.MultiFields;
@@ -58,7 +59,7 @@ public class DirectoryTaxonomyReader imp
private static final Logger logger = Logger.getLogger(DirectoryTaxonomyReader.class.getName());
- private IndexReader indexReader;
+ private DirectoryReader indexReader;
// The following lock is used to allow multiple threads to read from the
// index concurrently, while having them block during the very short
@@ -126,8 +127,8 @@ public class DirectoryTaxonomyReader imp
parentArray.refresh(indexReader);
}
- protected IndexReader openIndexReader(Directory directory) throws CorruptIndexException, IOException {
- return IndexReader.open(directory);
+ protected DirectoryReader openIndexReader(Directory directory) throws CorruptIndexException, IOException {
+ return DirectoryReader.open(directory);
}
/**
@@ -353,7 +354,7 @@ public class DirectoryTaxonomyReader imp
// safely read indexReader without holding the write lock, because
// no other thread can be writing at this time (this method is the
// only possible writer, and it is "synchronized" to avoid this case).
- IndexReader r2 = IndexReader.openIfChanged(indexReader);
+ DirectoryReader r2 = DirectoryReader.openIfChanged(indexReader);
if (r2 == null) {
return false; // no changes, nothing to do
}
@@ -557,7 +558,7 @@ public class DirectoryTaxonomyReader imp
*
* @return lucene indexReader
*/
- IndexReader getInternalIndexReader() {
+ DirectoryReader getInternalIndexReader() {
ensureOpen();
return this.indexReader;
}
Modified: lucene/dev/trunk/modules/facet/src/java/org/apache/lucene/facet/taxonomy/directory/DirectoryTaxonomyWriter.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/modules/facet/src/java/org/apache/lucene/facet/taxonomy/directory/DirectoryTaxonomyWriter.java?rev=1238085&r1=1238084&r2=1238085&view=diff
==============================================================================
--- lucene/dev/trunk/modules/facet/src/java/org/apache/lucene/facet/taxonomy/directory/DirectoryTaxonomyWriter.java (original)
+++ lucene/dev/trunk/modules/facet/src/java/org/apache/lucene/facet/taxonomy/directory/DirectoryTaxonomyWriter.java Mon Jan 30 23:34:03 2012
@@ -22,6 +22,7 @@ import org.apache.lucene.document.FieldT
import org.apache.lucene.document.StringField;
import org.apache.lucene.document.TextField;
import org.apache.lucene.index.CorruptIndexException;
+import org.apache.lucene.index.DirectoryReader;
import org.apache.lucene.index.DocsEnum;
import org.apache.lucene.index.IndexReader;
import org.apache.lucene.index.IndexWriter;
@@ -112,7 +113,7 @@ public class DirectoryTaxonomyWriter imp
* that some of the cached data was cleared).
*/
private boolean cacheIsComplete;
- private IndexReader reader;
+ private DirectoryReader reader;
private int cacheMisses;
/**
@@ -188,7 +189,7 @@ public class DirectoryTaxonomyWriter imp
throws CorruptIndexException, LockObtainFailedException,
IOException {
- if (!IndexReader.indexExists(directory) || openMode==OpenMode.CREATE) {
+ if (!DirectoryReader.indexExists(directory) || openMode==OpenMode.CREATE) {
taxoIndexCreateTime = Long.toString(System.nanoTime());
}
@@ -281,8 +282,8 @@ public class DirectoryTaxonomyWriter imp
* calling {@link IndexReader#open(IndexWriter, boolean)}. Extending classes can override
* this method to return their own {@link IndexReader}.
*/
- protected IndexReader openReader() throws IOException {
- return IndexReader.open(indexWriter, true);
+ protected DirectoryReader openReader() throws IOException {
+ return DirectoryReader.open(indexWriter, true);
}
/**
@@ -616,9 +617,9 @@ public class DirectoryTaxonomyWriter imp
}
}
- private synchronized void refreshReader() throws IOException {
+ protected synchronized void refreshReader() throws IOException {
if (reader != null) {
- IndexReader r2 = IndexReader.openIfChanged(reader);
+ DirectoryReader r2 = DirectoryReader.openIfChanged(reader);
if (r2 != null) {
reader.close();
reader = r2;
@@ -985,6 +986,18 @@ public class DirectoryTaxonomyWriter imp
}
/**
+ * Expert: This method is only for expert use.
+ * Note also that any call to refresh() will invalidate the returned reader,
+ * so the caller needs to take care of appropriate locking.
+ *
+ * @return lucene indexReader
+ */
+ DirectoryReader getInternalIndexReader() {
+ ensureOpen();
+ return this.reader;
+ }
+
+ /**
* Mapping from old ordinal to new ordinals, used when merging indexes
* wit separate taxonomies.
* <p>
Modified: lucene/dev/trunk/modules/facet/src/test/org/apache/lucene/facet/FacetTestUtils.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/modules/facet/src/test/org/apache/lucene/facet/FacetTestUtils.java?rev=1238085&r1=1238084&r2=1238085&view=diff
==============================================================================
--- lucene/dev/trunk/modules/facet/src/test/org/apache/lucene/facet/FacetTestUtils.java (original)
+++ lucene/dev/trunk/modules/facet/src/test/org/apache/lucene/facet/FacetTestUtils.java Mon Jan 30 23:34:03 2012
@@ -9,6 +9,7 @@ import org.apache.lucene.document.Docume
import org.apache.lucene.document.Field;
import org.apache.lucene.document.TextField;
import org.apache.lucene.index.CorruptIndexException;
+import org.apache.lucene.index.DirectoryReader;
import org.apache.lucene.index.IndexReader;
import org.apache.lucene.index.IndexWriter;
import org.apache.lucene.index.IndexWriterConfig;
@@ -133,7 +134,7 @@ public class FacetTestUtils {
}
public static class IndexTaxonomyReaderPair {
- public IndexReader indexReader;
+ public DirectoryReader indexReader;
public TaxonomyReader taxReader;
public IndexSearcher indexSearcher;
Modified: lucene/dev/trunk/modules/facet/src/test/org/apache/lucene/facet/index/FacetsPayloadProcessorProviderTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/modules/facet/src/test/org/apache/lucene/facet/index/FacetsPayloadProcessorProviderTest.java?rev=1238085&r1=1238084&r2=1238085&view=diff
==============================================================================
--- lucene/dev/trunk/modules/facet/src/test/org/apache/lucene/facet/index/FacetsPayloadProcessorProviderTest.java (original)
+++ lucene/dev/trunk/modules/facet/src/test/org/apache/lucene/facet/index/FacetsPayloadProcessorProviderTest.java Mon Jan 30 23:34:03 2012
@@ -7,7 +7,7 @@ import java.util.List;
import org.apache.lucene.analysis.MockAnalyzer;
import org.apache.lucene.analysis.MockTokenizer;
import org.apache.lucene.document.Document;
-import org.apache.lucene.index.IndexReader;
+import org.apache.lucene.index.DirectoryReader;
import org.apache.lucene.index.IndexWriterConfig;
import org.apache.lucene.index.RandomIndexWriter;
import org.apache.lucene.search.IndexSearcher;
@@ -67,7 +67,7 @@ public class FacetsPayloadProcessorProvi
}
private void verifyResults(Directory dir, Directory taxDir) throws IOException {
- IndexReader reader1 = IndexReader.open(dir);
+ DirectoryReader reader1 = DirectoryReader.open(dir);
DirectoryTaxonomyReader taxReader = new DirectoryTaxonomyReader(taxDir);
IndexSearcher searcher = newSearcher(reader1);
FacetSearchParams fsp = new FacetSearchParams();
Modified: lucene/dev/trunk/modules/facet/src/test/org/apache/lucene/facet/search/TestFacetsAccumulatorWithComplement.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/modules/facet/src/test/org/apache/lucene/facet/search/TestFacetsAccumulatorWithComplement.java?rev=1238085&r1=1238084&r2=1238085&view=diff
==============================================================================
--- lucene/dev/trunk/modules/facet/src/test/org/apache/lucene/facet/search/TestFacetsAccumulatorWithComplement.java (original)
+++ lucene/dev/trunk/modules/facet/src/test/org/apache/lucene/facet/search/TestFacetsAccumulatorWithComplement.java Mon Jan 30 23:34:03 2012
@@ -6,6 +6,7 @@ import java.util.List;
import org.apache.lucene.index.IndexReader;
import org.apache.lucene.index.MultiReader;
import org.apache.lucene.index.ParallelReader;
+import org.apache.lucene.index.SlowCompositeReaderWrapper;
import org.apache.lucene.search.MatchAllDocsQuery;
import org.apache.lucene.search.Query;
import org.junit.After;
@@ -68,7 +69,7 @@ public class TestFacetsAccumulatorWithCo
public void testComplementsWithParallerReader() throws Exception {
IndexReader origReader = indexReader;
ParallelReader pr = new ParallelReader(true);
- pr.add(origReader);
+ pr.add(SlowCompositeReaderWrapper.wrap(origReader));
indexReader = pr;
try {
doTestComplements();
Modified: lucene/dev/trunk/modules/facet/src/test/org/apache/lucene/facet/search/TestTotalFacetCountsCache.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/modules/facet/src/test/org/apache/lucene/facet/search/TestTotalFacetCountsCache.java?rev=1238085&r1=1238084&r2=1238085&view=diff
==============================================================================
--- lucene/dev/trunk/modules/facet/src/test/org/apache/lucene/facet/search/TestTotalFacetCountsCache.java (original)
+++ lucene/dev/trunk/modules/facet/src/test/org/apache/lucene/facet/search/TestTotalFacetCountsCache.java Mon Jan 30 23:34:03 2012
@@ -9,6 +9,7 @@ import org.apache.lucene.analysis.MockAn
import org.apache.lucene.analysis.MockTokenizer;
import org.apache.lucene.document.Document;
import org.apache.lucene.index.CorruptIndexException;
+import org.apache.lucene.index.DirectoryReader;
import org.apache.lucene.index.IndexReader;
import org.apache.lucene.index.IndexWriter;
import org.apache.lucene.index.IndexWriterConfig;
@@ -299,7 +300,7 @@ public class TestTotalFacetCountsCache e
writers[0].taxWriter.close();
readers[0].taxReader.refresh();
- IndexReader r2 = IndexReader.openIfChanged(readers[0].indexReader);
+ DirectoryReader r2 = DirectoryReader.openIfChanged(readers[0].indexReader);
assertNotNull(r2);
// Hold on to the 'original' reader so we can do some checks with it
IndexReader origReader = null;
Modified: lucene/dev/trunk/modules/facet/src/test/org/apache/lucene/facet/taxonomy/directory/TestDirectoryTaxonomyWriter.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/modules/facet/src/test/org/apache/lucene/facet/taxonomy/directory/TestDirectoryTaxonomyWriter.java?rev=1238085&r1=1238084&r2=1238085&view=diff
==============================================================================
--- lucene/dev/trunk/modules/facet/src/test/org/apache/lucene/facet/taxonomy/directory/TestDirectoryTaxonomyWriter.java (original)
+++ lucene/dev/trunk/modules/facet/src/test/org/apache/lucene/facet/taxonomy/directory/TestDirectoryTaxonomyWriter.java Mon Jan 30 23:34:03 2012
@@ -3,6 +3,7 @@ package org.apache.lucene.facet.taxonomy
import java.util.HashMap;
import java.util.Map;
+import org.apache.lucene.index.DirectoryReader;
import org.apache.lucene.index.IndexReader;
import org.apache.lucene.index.IndexWriterConfig.OpenMode;
import org.apache.lucene.store.AlreadyClosedException;
@@ -54,7 +55,7 @@ public class TestDirectoryTaxonomyWriter
// commit() wasn't called.
Directory dir = newDirectory();
DirectoryTaxonomyWriter ltw = new DirectoryTaxonomyWriter(dir, OpenMode.CREATE_OR_APPEND, new NoOpCache());
- assertFalse(IndexReader.indexExists(dir));
+ assertFalse(DirectoryReader.indexExists(dir));
ltw.commit(); // first commit, so that an index will be created
ltw.addCategory(new CategoryPath("a"));
@@ -70,7 +71,7 @@ public class TestDirectoryTaxonomyWriter
// Verifies that committed data is retrievable
Directory dir = newDirectory();
DirectoryTaxonomyWriter ltw = new DirectoryTaxonomyWriter(dir, OpenMode.CREATE_OR_APPEND, new NoOpCache());
- assertFalse(IndexReader.indexExists(dir));
+ assertFalse(DirectoryReader.indexExists(dir));
ltw.commit(); // first commit, so that an index will be created
ltw.addCategory(new CategoryPath("a"));
ltw.addCategory(new CategoryPath("b"));
@@ -78,7 +79,7 @@ public class TestDirectoryTaxonomyWriter
userCommitData.put("testing", "1 2 3");
ltw.commit(userCommitData);
ltw.close();
- IndexReader r = IndexReader.open(dir);
+ DirectoryReader r = IndexReader.open(dir);
assertEquals("2 categories plus root should have been committed to the underlying directory", 3, r.numDocs());
Map <String, String> readUserCommitData = r.getCommitUserData();
assertTrue("wrong value extracted from commit data",
Modified: lucene/dev/trunk/modules/facet/src/test/org/apache/lucene/facet/taxonomy/directory/TestIndexClose.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/modules/facet/src/test/org/apache/lucene/facet/taxonomy/directory/TestIndexClose.java?rev=1238085&r1=1238084&r2=1238085&view=diff
==============================================================================
--- lucene/dev/trunk/modules/facet/src/test/org/apache/lucene/facet/taxonomy/directory/TestIndexClose.java (original)
+++ lucene/dev/trunk/modules/facet/src/test/org/apache/lucene/facet/taxonomy/directory/TestIndexClose.java Mon Jan 30 23:34:03 2012
@@ -2,22 +2,25 @@ package org.apache.lucene.facet.taxonomy
import java.io.IOException;
import java.util.HashSet;
+import java.util.IdentityHashMap;
import java.util.Set;
import org.apache.lucene.index.CorruptIndexException;
-import org.apache.lucene.index.FilterIndexReader;
-import org.apache.lucene.index.IndexReader;
+import org.apache.lucene.index.DirectoryReader;
import org.apache.lucene.index.IndexWriter;
import org.apache.lucene.index.IndexWriterConfig;
import org.apache.lucene.index.IndexWriterConfig.OpenMode;
+import org.apache.lucene.store.AlreadyClosedException;
import org.apache.lucene.store.Directory;
import org.apache.lucene.store.LockObtainFailedException;
import org.junit.Test;
import org.apache.lucene.util.LuceneTestCase;
+import org.apache.lucene.util.MapBackedSet;
import org.apache.lucene.analysis.MockAnalyzer;
import org.apache.lucene.analysis.MockTokenizer;
import org.apache.lucene.facet.taxonomy.CategoryPath;
+import org.apache.lucene.facet.taxonomy.InconsistentTaxonomyException;
import org.apache.lucene.facet.taxonomy.directory.DirectoryTaxonomyReader;
import org.apache.lucene.facet.taxonomy.directory.DirectoryTaxonomyWriter;
@@ -92,8 +95,7 @@ public class TestIndexClose extends Luce
}
private static class LeakChecker {
- int ireader=0;
- Set<Integer> openReaders = new HashSet<Integer>();
+ Set<DirectoryReader> readers = new MapBackedSet<DirectoryReader>(new IdentityHashMap<DirectoryReader,Boolean>());
int iwriter=0;
Set<Integer> openWriters = new HashSet<Integer>();
@@ -110,9 +112,15 @@ public class TestIndexClose extends Luce
public int nopen() {
int ret=0;
- for (int i: openReaders) {
- System.err.println("reader "+i+" still open");
- ret++;
+ for (DirectoryReader r: readers) {
+ try {
+ // this should throw ex, if already closed!
+ r.getTopReaderContext();
+ System.err.println("reader "+r+" still open");
+ ret++;
+ } catch (AlreadyClosedException e) {
+ // fine
+ }
}
for (int i: openWriters) {
System.err.println("writer "+i+" still open");
@@ -126,8 +134,16 @@ public class TestIndexClose extends Luce
super(dir);
}
@Override
- protected IndexReader openReader() throws IOException {
- return new InstrumentedIndexReader(super.openReader());
+ protected DirectoryReader openReader() throws IOException {
+ DirectoryReader r = super.openReader();
+ readers.add(r);
+ return r;
+ }
+ @Override
+ protected synchronized void refreshReader() throws IOException {
+ super.refreshReader();
+ final DirectoryReader r = getInternalIndexReader();
+ if (r != null) readers.add(r);
}
@Override
protected IndexWriter openIndexWriter (Directory directory, IndexWriterConfig config) throws IOException {
@@ -146,44 +162,19 @@ public class TestIndexClose extends Luce
super(dir);
}
@Override
- protected IndexReader openIndexReader(Directory dir) throws CorruptIndexException, IOException {
- return new InstrumentedIndexReader(IndexReader.open(dir));
- }
-
- }
-
- private class InstrumentedIndexReader extends FilterIndexReader {
- int mynum;
- public InstrumentedIndexReader(IndexReader in) {
- super(in);
- this.in = in;
- mynum = ireader++;
- openReaders.add(mynum);
- // System.err.println("opened "+mynum);
+ protected DirectoryReader openIndexReader(Directory dir) throws CorruptIndexException, IOException {
+ DirectoryReader r = super.openIndexReader(dir);
+ readers.add(r);
+ return r;
}
@Override
- protected synchronized IndexReader doOpenIfChanged() throws CorruptIndexException, IOException {
- IndexReader n = IndexReader.openIfChanged(in);
- if (n == null) {
- return null;
- }
- return new InstrumentedIndexReader(n);
- }
-
- // Unfortunately, IndexReader.close() is marked final so we can't
- // change it! Fortunately, close() calls (if the object wasn't
- // already closed) doClose() so we can override it to do our thing -
- // just like FilterIndexReader does.
- @Override
- public void doClose() throws IOException {
- in.close();
- if (!openReaders.contains(mynum)) { // probably can't happen...
- fail("Reader #"+mynum+" was closed twice!");
- }
- openReaders.remove(mynum);
- // System.err.println("closed "+mynum);
+ public synchronized boolean refresh() throws IOException, InconsistentTaxonomyException {
+ final boolean ret = super.refresh();
+ readers.add(getInternalIndexReader());
+ return ret;
}
}
+
private class InstrumentedIndexWriter extends IndexWriter {
int mynum;
public InstrumentedIndexWriter(Directory d, IndexWriterConfig conf) throws CorruptIndexException, LockObtainFailedException, IOException {
Modified: lucene/dev/trunk/modules/grouping/src/java/org/apache/lucene/search/grouping/AbstractFirstPassGroupingCollector.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/modules/grouping/src/java/org/apache/lucene/search/grouping/AbstractFirstPassGroupingCollector.java?rev=1238085&r1=1238084&r2=1238085&view=diff
==============================================================================
--- lucene/dev/trunk/modules/grouping/src/java/org/apache/lucene/search/grouping/AbstractFirstPassGroupingCollector.java (original)
+++ lucene/dev/trunk/modules/grouping/src/java/org/apache/lucene/search/grouping/AbstractFirstPassGroupingCollector.java Mon Jan 30 23:34:03 2012
@@ -17,7 +17,7 @@ package org.apache.lucene.search.groupin
* limitations under the License.
*/
-import org.apache.lucene.index.IndexReader.AtomicReaderContext;
+import org.apache.lucene.index.AtomicReaderContext;
import org.apache.lucene.search.*;
import java.io.IOException;
Modified: lucene/dev/trunk/modules/grouping/src/java/org/apache/lucene/search/grouping/AbstractSecondPassGroupingCollector.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/modules/grouping/src/java/org/apache/lucene/search/grouping/AbstractSecondPassGroupingCollector.java?rev=1238085&r1=1238084&r2=1238085&view=diff
==============================================================================
--- lucene/dev/trunk/modules/grouping/src/java/org/apache/lucene/search/grouping/AbstractSecondPassGroupingCollector.java (original)
+++ lucene/dev/trunk/modules/grouping/src/java/org/apache/lucene/search/grouping/AbstractSecondPassGroupingCollector.java Mon Jan 30 23:34:03 2012
@@ -17,7 +17,7 @@ package org.apache.lucene.search.groupin
* limitations under the License.
*/
-import org.apache.lucene.index.IndexReader.AtomicReaderContext;
+import org.apache.lucene.index.AtomicReaderContext;
import org.apache.lucene.search.*;
import java.io.IOException;
Modified: lucene/dev/trunk/modules/grouping/src/java/org/apache/lucene/search/grouping/BlockGroupingCollector.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/modules/grouping/src/java/org/apache/lucene/search/grouping/BlockGroupingCollector.java?rev=1238085&r1=1238084&r2=1238085&view=diff
==============================================================================
--- lucene/dev/trunk/modules/grouping/src/java/org/apache/lucene/search/grouping/BlockGroupingCollector.java (original)
+++ lucene/dev/trunk/modules/grouping/src/java/org/apache/lucene/search/grouping/BlockGroupingCollector.java Mon Jan 30 23:34:03 2012
@@ -20,7 +20,7 @@ package org.apache.lucene.search.groupin
import java.io.IOException;
-import org.apache.lucene.index.IndexReader.AtomicReaderContext;
+import org.apache.lucene.index.AtomicReaderContext;
import org.apache.lucene.index.IndexWriter; // javadocs
import org.apache.lucene.search.Collector;
import org.apache.lucene.search.DocIdSetIterator;
@@ -505,7 +505,7 @@ public class BlockGroupingCollector exte
subDocUpto = 0;
docBase = readerContext.docBase;
//System.out.println("setNextReader base=" + docBase + " r=" + readerContext.reader);
- lastDocPerGroupBits = lastDocPerGroup.getDocIdSet(readerContext, readerContext.reader.getLiveDocs()).iterator();
+ lastDocPerGroupBits = lastDocPerGroup.getDocIdSet(readerContext, readerContext.reader().getLiveDocs()).iterator();
groupEndDocID = -1;
currentReaderContext = readerContext;
Modified: lucene/dev/trunk/modules/grouping/src/java/org/apache/lucene/search/grouping/dv/DVAllGroupHeadsCollector.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/modules/grouping/src/java/org/apache/lucene/search/grouping/dv/DVAllGroupHeadsCollector.java?rev=1238085&r1=1238084&r2=1238085&view=diff
==============================================================================
--- lucene/dev/trunk/modules/grouping/src/java/org/apache/lucene/search/grouping/dv/DVAllGroupHeadsCollector.java (original)
+++ lucene/dev/trunk/modules/grouping/src/java/org/apache/lucene/search/grouping/dv/DVAllGroupHeadsCollector.java Mon Jan 30 23:34:03 2012
@@ -17,6 +17,7 @@ package org.apache.lucene.search.groupin
* limitations under the License.
*/
+import org.apache.lucene.index.AtomicReaderContext;
import org.apache.lucene.index.DocValues;
import org.apache.lucene.index.DocValues.Type; // javadocs
import org.apache.lucene.index.IndexReader;
@@ -43,7 +44,7 @@ public abstract class DVAllGroupHeadsCol
final DocValues.Type valueType;
final BytesRef scratchBytesRef = new BytesRef();
- IndexReader.AtomicReaderContext readerContext;
+ AtomicReaderContext readerContext;
Scorer scorer;
DVAllGroupHeadsCollector(String groupField, DocValues.Type valueType, int numberOfSorts, boolean diskResident) {
@@ -91,10 +92,10 @@ public abstract class DVAllGroupHeadsCol
static class GroupHead extends AbstractAllGroupHeadsCollector.GroupHead<Comparable> {
final FieldComparator[] comparators;
- IndexReader.AtomicReaderContext readerContext;
+ AtomicReaderContext readerContext;
Scorer scorer;
- GroupHead(Comparable groupValue, Sort sort, int doc, IndexReader.AtomicReaderContext readerContext, Scorer scorer) throws IOException {
+ GroupHead(Comparable groupValue, Sort sort, int doc, AtomicReaderContext readerContext, Scorer scorer) throws IOException {
super(groupValue, doc + readerContext.docBase);
final SortField[] sortFields = sort.getSort();
comparators = new FieldComparator[sortFields.length];
@@ -123,10 +124,10 @@ public abstract class DVAllGroupHeadsCol
}
@Override
- public void setNextReader(IndexReader.AtomicReaderContext readerContext) throws IOException {
+ public void setNextReader(AtomicReaderContext readerContext) throws IOException {
this.readerContext = readerContext;
- final DocValues dv = readerContext.reader.docValues(groupField);
+ final DocValues dv = readerContext.reader().docValues(groupField);
final DocValues.Source dvSource;
if (dv != null) {
dvSource = diskResident ? dv.getDirectSource() : dv.getSource();
@@ -147,7 +148,7 @@ public abstract class DVAllGroupHeadsCol
* @return The default source when no doc values are available.
* @param readerContext The current reader context
*/
- protected DocValues.Source getDefaultSource(IndexReader.AtomicReaderContext readerContext) {
+ protected DocValues.Source getDefaultSource(AtomicReaderContext readerContext) {
return DocValues.getDefaultSource(valueType);
}
@@ -189,7 +190,7 @@ public abstract class DVAllGroupHeadsCol
return groups.values();
}
- public void setNextReader(IndexReader.AtomicReaderContext context) throws IOException {
+ public void setNextReader(AtomicReaderContext context) throws IOException {
super.setNextReader(context);
for (GroupHead groupHead : groups.values()) {
for (int i = 0; i < groupHead.comparators.length; i++) {
@@ -230,8 +231,8 @@ public abstract class DVAllGroupHeadsCol
}
@Override
- protected DocValues.Source getDefaultSource(IndexReader.AtomicReaderContext readerContext) {
- return DocValues.getDefaultSortedSource(valueType, readerContext.reader.maxDoc());
+ protected DocValues.Source getDefaultSource(AtomicReaderContext readerContext) {
+ return DocValues.getDefaultSortedSource(valueType, readerContext.reader().maxDoc());
}
}