You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by si...@apache.org on 2011/02/09 10:36:03 UTC
svn commit: r1068809 [18/36] - in /lucene/dev/branches/docvalues: ./
dev-tools/eclipse/ dev-tools/idea/.idea/ dev-tools/idea/.idea/copyright/
dev-tools/idea/lucene/ dev-tools/idea/lucene/contrib/ant/
dev-tools/idea/lucene/contrib/queryparser/ dev-tools...
Modified: lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/TestMatchAllDocsQuery.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/TestMatchAllDocsQuery.java?rev=1068809&r1=1068808&r2=1068809&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/TestMatchAllDocsQuery.java (original)
+++ lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/TestMatchAllDocsQuery.java Wed Feb 9 09:35:27 2011
@@ -40,14 +40,14 @@ public class TestMatchAllDocsQuery exten
public void testQuery() throws Exception {
Directory dir = newDirectory();
IndexWriter iw = new IndexWriter(dir, newIndexWriterConfig(
- TEST_VERSION_CURRENT, analyzer).setMaxBufferedDocs(2));
+ TEST_VERSION_CURRENT, analyzer).setMaxBufferedDocs(2).setMergePolicy(newInOrderLogMergePolicy()));
addDoc("one", iw, 1f);
addDoc("two", iw, 20f);
addDoc("three four", iw, 300f);
iw.close();
IndexReader ir = IndexReader.open(dir, false);
- IndexSearcher is = new IndexSearcher(ir);
+ IndexSearcher is = newSearcher(ir);
ScoreDoc[] hits;
// assert with norms scoring turned off
@@ -69,7 +69,7 @@ public class TestMatchAllDocsQuery exten
assertEquals("one", ir.document(hits[2].doc).get("key"));
// change norm & retest
- ir.setNorm(0, "key", 400f);
+ ir.setNorm(0, "key", is.getSimilarityProvider().get("key").encodeNormValue(400f));
normsQuery = new MatchAllDocsQuery("key");
hits = is.search(normsQuery, null, 1000).scoreDocs;
assertEquals(3, hits.length);
@@ -93,7 +93,7 @@ public class TestMatchAllDocsQuery exten
assertEquals(1, hits.length);
// delete a document:
- is.getIndexReader().deleteDocument(0);
+ ir.deleteDocument(0);
hits = is.search(new MatchAllDocsQuery(), null, 1000).scoreDocs;
assertEquals(2, hits.length);
Modified: lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/TestMultiPhraseQuery.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/TestMultiPhraseQuery.java?rev=1068809&r1=1068808&r2=1068809&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/TestMultiPhraseQuery.java (original)
+++ lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/TestMultiPhraseQuery.java Wed Feb 9 09:35:27 2011
@@ -22,6 +22,7 @@ import org.apache.lucene.index.Term;
import org.apache.lucene.index.TermsEnum;
import org.apache.lucene.index.IndexReader;
import org.apache.lucene.index.MultiFields;
+import org.apache.lucene.search.Explanation.IDFExplanation;
import org.apache.lucene.store.Directory;
import org.apache.lucene.util.BytesRef;
import org.apache.lucene.document.Document;
@@ -30,6 +31,7 @@ import org.apache.lucene.document.Field;
import org.apache.lucene.util.LuceneTestCase;
import java.io.IOException;
+import java.util.Collection;
import java.util.LinkedList;
/**
@@ -51,7 +53,7 @@ public class TestMultiPhraseQuery extend
add("piccadilly circus", writer);
IndexReader reader = writer.getReader();
- IndexSearcher searcher = new IndexSearcher(reader);
+ IndexSearcher searcher = newSearcher(reader);
// search for "blueberry pi*":
MultiPhraseQuery query1 = new MultiPhraseQuery();
@@ -140,12 +142,13 @@ public class TestMultiPhraseQuery extend
IndexReader r = writer.getReader();
writer.close();
- IndexSearcher searcher = new IndexSearcher(r);
+ IndexSearcher searcher = newSearcher(r);
MultiPhraseQuery q = new MultiPhraseQuery();
q.add(new Term("body", "blueberry"));
q.add(new Term("body", "chocolate"));
q.add(new Term[] {new Term("body", "pie"), new Term("body", "tart")});
assertEquals(2, searcher.search(q, 1).totalHits);
+ searcher.close();
r.close();
indexStore.close();
}
@@ -169,7 +172,7 @@ public class TestMultiPhraseQuery extend
add("blue raspberry pie", writer);
IndexReader reader = writer.getReader();
- IndexSearcher searcher = new IndexSearcher(reader);
+ IndexSearcher searcher = newSearcher(reader);
// This query will be equivalent to +body:pie +body:"blue*"
BooleanQuery q = new BooleanQuery();
q.add(new TermQuery(new Term("body", "pie")), BooleanClause.Occur.MUST);
@@ -200,7 +203,7 @@ public class TestMultiPhraseQuery extend
add("a note", "note", writer);
IndexReader reader = writer.getReader();
- IndexSearcher searcher = new IndexSearcher(reader);
+ IndexSearcher searcher = newSearcher(reader);
// This query will be equivalent to +type:note +body:"a t*"
BooleanQuery q = new BooleanQuery();
@@ -227,7 +230,7 @@ public class TestMultiPhraseQuery extend
add("a note", "note", writer);
IndexReader reader = writer.getReader();
- IndexSearcher searcher = new IndexSearcher(reader);
+ IndexSearcher searcher = newSearcher(reader);
MultiPhraseQuery q = new MultiPhraseQuery();
q.add(new Term("body", "a"));
@@ -285,4 +288,44 @@ public class TestMultiPhraseQuery extend
new MultiPhraseQuery().toString();
}
+ public void testCustomIDF() throws Exception {
+ Directory indexStore = newDirectory();
+ RandomIndexWriter writer = new RandomIndexWriter(random, indexStore);
+ add("This is a test", "object", writer);
+ add("a note", "note", writer);
+
+ IndexReader reader = writer.getReader();
+ IndexSearcher searcher = newSearcher(reader);
+ searcher.setSimilarityProvider(new DefaultSimilarity() {
+
+ @Override
+ public IDFExplanation idfExplain(Collection<Term> terms,
+ IndexSearcher searcher) throws IOException {
+ return new IDFExplanation() {
+
+ @Override
+ public float getIdf() {
+ return 10f;
+ }
+
+ @Override
+ public String explain() {
+ return "just a test";
+ }
+
+ };
+ }
+ });
+
+ MultiPhraseQuery query = new MultiPhraseQuery();
+ query.add(new Term[] { new Term("body", "this"), new Term("body", "that") });
+ query.add(new Term("body", "is"));
+ Weight weight = query.createWeight(searcher);
+ assertEquals(10f * 10f, weight.sumOfSquaredWeights(), 0.001f);
+
+ writer.close();
+ searcher.close();
+ reader.close();
+ indexStore.close();
+ }
}
Modified: lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/TestMultiTermConstantScore.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/TestMultiTermConstantScore.java?rev=1068809&r1=1068808&r2=1068809&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/TestMultiTermConstantScore.java (original)
+++ lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/TestMultiTermConstantScore.java Wed Feb 9 09:35:27 2011
@@ -22,6 +22,7 @@ import org.apache.lucene.analysis.MockTo
import org.apache.lucene.document.Document;
import org.apache.lucene.document.Field;
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;
@@ -150,7 +151,7 @@ public class TestMultiTermConstantScore
public void testEqualScores() throws IOException {
// NOTE: uses index build in *this* setUp
- IndexSearcher search = new IndexSearcher(reader);
+ IndexSearcher search = newSearcher(reader);
ScoreDoc[] result;
@@ -173,13 +174,14 @@ public class TestMultiTermConstantScore
result[i].score);
}
+ search.close();
}
@Test
public void testBoost() throws IOException {
// NOTE: uses index build in *this* setUp
- IndexSearcher search = new IndexSearcher(reader);
+ IndexSearcher search = newSearcher(reader);
// test for correct application of query normalization
// must use a non score normalizing method for this.
@@ -197,8 +199,8 @@ public class TestMultiTermConstantScore
assertEquals("score for doc " + (doc + base) + " was not correct", 1.0f, scorer.score());
}
@Override
- public void setNextReader(IndexReader reader, int docBase) {
- base = docBase;
+ public void setNextReader(AtomicReaderContext context) {
+ base = context.docBase;
}
@Override
public boolean acceptsDocsOutOfOrder() {
@@ -245,13 +247,14 @@ public class TestMultiTermConstantScore
Assert.assertEquals(0, hits[0].doc);
Assert.assertEquals(1, hits[1].doc);
assertTrue(hits[0].score > hits[1].score);
+ search.close();
}
@Test
public void testBooleanOrderUnAffected() throws IOException {
// NOTE: uses index build in *this* setUp
- IndexSearcher search = new IndexSearcher(reader);
+ IndexSearcher search = newSearcher(reader);
// first do a regular TermRangeQuery which uses term expansion so
// docs with more terms in range get higher scores
@@ -276,6 +279,7 @@ public class TestMultiTermConstantScore
actual[i].doc);
}
+ search.close();
}
@Test
@@ -283,7 +287,7 @@ public class TestMultiTermConstantScore
// NOTE: uses index build in *super* setUp
IndexReader reader = signedIndexReader;
- IndexSearcher search = new IndexSearcher(reader);
+ IndexSearcher search = newSearcher(reader);
int medId = ((maxId - minId) / 2);
@@ -404,6 +408,8 @@ public class TestMultiTermConstantScore
result = search.search(csrq("id", medIP, medIP, T, T, MultiTermQuery.CONSTANT_SCORE_AUTO_REWRITE_DEFAULT), null, numDocs).scoreDocs;
assertEquals("med,med,T,T", 1, result.length);
+
+ search.close();
}
@Test
@@ -411,7 +417,7 @@ public class TestMultiTermConstantScore
// NOTE: uses index build in *super* setUp
IndexReader reader = signedIndexReader;
- IndexSearcher search = new IndexSearcher(reader);
+ IndexSearcher search = newSearcher(reader);
int medId = ((maxId - minId) / 2);
@@ -488,6 +494,8 @@ public class TestMultiTermConstantScore
result = search.search(csrq("id", medIP, medIP, T, T, c), null, numDocs).scoreDocs;
assertEquals("med,med,T,T,c", 1, result.length);
+
+ search.close();
}
@Test
@@ -495,7 +503,7 @@ public class TestMultiTermConstantScore
// NOTE: uses index build in *super* setUp
IndexReader reader = signedIndexReader;
- IndexSearcher search = new IndexSearcher(reader);
+ IndexSearcher search = newSearcher(reader);
String minRP = pad(signedIndexDir.minR);
String maxRP = pad(signedIndexDir.maxR);
@@ -551,6 +559,7 @@ public class TestMultiTermConstantScore
result = search.search(csrq("rand", maxRP, null, T, F), null, numDocs).scoreDocs;
assertEquals("max,nul,T,T", 1, result.length);
+ search.close();
}
@Test
@@ -559,7 +568,7 @@ public class TestMultiTermConstantScore
// using the unsigned index because collation seems to ignore hyphens
IndexReader reader = unsignedIndexReader;
- IndexSearcher search = new IndexSearcher(reader);
+ IndexSearcher search = newSearcher(reader);
String minRP = pad(unsignedIndexDir.minR);
String maxRP = pad(unsignedIndexDir.maxR);
@@ -616,6 +625,8 @@ public class TestMultiTermConstantScore
assertEquals("max,max,T,T,c", 1, result.length);
result = search.search(csrq("rand", maxRP, null, T, F, c), null, numDocs).scoreDocs;
assertEquals("max,nul,T,T,c", 1, result.length);
+
+ search.close();
}
@Test
@@ -635,7 +646,7 @@ public class TestMultiTermConstantScore
IndexReader reader = writer.getReader();
writer.close();
- IndexSearcher search = new IndexSearcher(reader);
+ IndexSearcher search = newSearcher(reader);
// Neither Java 1.4.2 nor 1.5.0 has Farsi Locale collation available in
// RuleBasedCollator. However, the Arabic Locale seems to order the Farsi
@@ -680,7 +691,7 @@ public class TestMultiTermConstantScore
IndexReader reader = writer.getReader();
writer.close();
- IndexSearcher search = new IndexSearcher(reader);
+ IndexSearcher search = newSearcher(reader);
Collator c = Collator.getInstance(new Locale("da", "dk"));
Modified: lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/TestMultiTermQueryRewrites.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/TestMultiTermQueryRewrites.java?rev=1068809&r1=1068808&r2=1068809&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/TestMultiTermQueryRewrites.java (original)
+++ lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/TestMultiTermQueryRewrites.java Wed Feb 9 09:35:27 2011
@@ -61,17 +61,17 @@ public class TestMultiTermQueryRewrites
writer.close(); swriter1.close(); swriter2.close();
reader = IndexReader.open(dir, true);
- searcher = new IndexSearcher(reader);
+ searcher = newSearcher(reader);
multiReader = new MultiReader(new IndexReader[] {
IndexReader.open(sdir1, true), IndexReader.open(sdir2, true)
}, true);
- multiSearcher = new IndexSearcher(multiReader);
+ multiSearcher = newSearcher(multiReader);
multiReaderDupls = new MultiReader(new IndexReader[] {
IndexReader.open(sdir1, true), IndexReader.open(dir, true)
}, true);
- multiSearcherDupls = new IndexSearcher(multiReaderDupls);
+ multiSearcherDupls = newSearcher(multiReaderDupls);
}
@AfterClass
Modified: lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/TestMultiThreadTermVectors.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/TestMultiThreadTermVectors.java?rev=1068809&r1=1068808&r2=1068809&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/TestMultiThreadTermVectors.java (original)
+++ lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/TestMultiThreadTermVectors.java Wed Feb 9 09:35:27 2011
@@ -38,7 +38,7 @@ public class TestMultiThreadTermVectors
public void setUp() throws Exception {
super.setUp();
directory = newDirectory();
- IndexWriter writer = new IndexWriter(directory, newIndexWriterConfig( TEST_VERSION_CURRENT, new MockAnalyzer()));
+ IndexWriter writer = new IndexWriter(directory, newIndexWriterConfig( TEST_VERSION_CURRENT, new MockAnalyzer()).setMergePolicy(newInOrderLogMergePolicy()));
//writer.setUseCompoundFile(false);
//writer.infoStream = System.out;
for (int i = 0; i < numDocs; i++) {
Modified: lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/TestMultiValuedNumericRangeQuery.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/TestMultiValuedNumericRangeQuery.java?rev=1068809&r1=1068808&r2=1068809&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/TestMultiValuedNumericRangeQuery.java (original)
+++ lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/TestMultiValuedNumericRangeQuery.java Wed Feb 9 09:35:27 2011
@@ -59,7 +59,7 @@ public class TestMultiValuedNumericRange
IndexReader reader = writer.getReader();
writer.close();
- IndexSearcher searcher=new IndexSearcher(reader);
+ IndexSearcher searcher=newSearcher(reader);
num = 50 * RANDOM_MULTIPLIER;
for (int i = 0; i < num; i++) {
int lower=random.nextInt(Integer.MAX_VALUE);
Modified: lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/TestNot.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/TestNot.java?rev=1068809&r1=1068808&r2=1068809&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/TestNot.java (original)
+++ lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/TestNot.java Wed Feb 9 09:35:27 2011
@@ -44,7 +44,7 @@ public class TestNot extends LuceneTestC
writer.addDocument(d1);
IndexReader reader = writer.getReader();
- IndexSearcher searcher = new IndexSearcher(reader);
+ IndexSearcher searcher = newSearcher(reader);
QueryParser parser = new QueryParser(TEST_VERSION_CURRENT, "field", new MockAnalyzer());
Query query = parser.parse("a NOT b");
//System.out.println(query);
Modified: lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/TestNumericRangeQuery32.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/TestNumericRangeQuery32.java?rev=1068809&r1=1068808&r2=1068809&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/TestNumericRangeQuery32.java (original)
+++ lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/TestNumericRangeQuery32.java Wed Feb 9 09:35:27 2011
@@ -22,6 +22,7 @@ import org.apache.lucene.document.Docume
import org.apache.lucene.document.Field;
import org.apache.lucene.document.NumericField;
import org.apache.lucene.index.IndexReader;
+import org.apache.lucene.index.IndexReader.AtomicReaderContext;
import org.apache.lucene.index.IndexWriter;
import org.apache.lucene.index.MultiFields;
import org.apache.lucene.index.RandomIndexWriter;
@@ -54,7 +55,8 @@ public class TestNumericRangeQuery32 ext
directory = newDirectory();
RandomIndexWriter writer = new RandomIndexWriter(random, directory,
newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer())
- .setMaxBufferedDocs(_TestUtil.nextInt(random, 50, 1000)));
+ .setMaxBufferedDocs(_TestUtil.nextInt(random, 50, 1000))
+ .setMergePolicy(newInOrderLogMergePolicy()));
NumericField
field8 = new NumericField("field8", 8, Field.Store.YES, true),
@@ -87,7 +89,7 @@ public class TestNumericRangeQuery32 ext
}
reader = writer.getReader();
- searcher=new IndexSearcher(reader);
+ searcher=newSearcher(reader);
writer.close();
}
@@ -176,14 +178,15 @@ public class TestNumericRangeQuery32 ext
@Test
public void testInverseRange() throws Exception {
+ AtomicReaderContext context = (AtomicReaderContext) new SlowMultiReaderWrapper(searcher.getIndexReader()).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(new SlowMultiReaderWrapper(searcher.getIndexReader())));
+ assertSame("A inverse range should return the EMPTY_DOCIDSET instance", DocIdSet.EMPTY_DOCIDSET, f.getDocIdSet(context));
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(new SlowMultiReaderWrapper(searcher.getIndexReader())));
+ DocIdSet.EMPTY_DOCIDSET, f.getDocIdSet(context));
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(new SlowMultiReaderWrapper(searcher.getIndexReader())));
+ DocIdSet.EMPTY_DOCIDSET, f.getDocIdSet(context));
}
@Test
Modified: lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/TestNumericRangeQuery64.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/TestNumericRangeQuery64.java?rev=1068809&r1=1068808&r2=1068809&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/TestNumericRangeQuery64.java (original)
+++ lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/TestNumericRangeQuery64.java Wed Feb 9 09:35:27 2011
@@ -25,6 +25,7 @@ import org.apache.lucene.index.IndexRead
import org.apache.lucene.index.IndexWriter;
import org.apache.lucene.index.RandomIndexWriter;
import org.apache.lucene.index.SlowMultiReaderWrapper;
+import org.apache.lucene.index.IndexReader.AtomicReaderContext;
import org.apache.lucene.store.Directory;
import org.apache.lucene.util.BytesRef;
import org.apache.lucene.util.LuceneTestCase;
@@ -51,7 +52,8 @@ public class TestNumericRangeQuery64 ext
directory = newDirectory();
RandomIndexWriter writer = new RandomIndexWriter(random, directory,
newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer())
- .setMaxBufferedDocs(_TestUtil.nextInt(random, 50, 1000)));
+ .setMaxBufferedDocs(_TestUtil.nextInt(random, 50, 1000))
+ .setMergePolicy(newInOrderLogMergePolicy()));
NumericField
field8 = new NumericField("field8", 8, Field.Store.YES, true),
@@ -87,7 +89,7 @@ public class TestNumericRangeQuery64 ext
writer.addDocument(doc);
}
reader = writer.getReader();
- searcher=new IndexSearcher(reader);
+ searcher=newSearcher(reader);
writer.close();
}
@@ -181,14 +183,16 @@ public class TestNumericRangeQuery64 ext
@Test
public void testInverseRange() throws Exception {
+ AtomicReaderContext context = (AtomicReaderContext) new SlowMultiReaderWrapper(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(new SlowMultiReaderWrapper(searcher.getIndexReader())));
+ assertSame("A inverse range should return the EMPTY_DOCIDSET instance", DocIdSet.EMPTY_DOCIDSET,
+ f.getDocIdSet(context));
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(new SlowMultiReaderWrapper(searcher.getIndexReader())));
+ DocIdSet.EMPTY_DOCIDSET, f.getDocIdSet(context));
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(new SlowMultiReaderWrapper(searcher.getIndexReader())));
+ DocIdSet.EMPTY_DOCIDSET, f.getDocIdSet(context));
}
@Test
Modified: lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/TestPhrasePrefixQuery.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/TestPhrasePrefixQuery.java?rev=1068809&r1=1068808&r2=1068809&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/TestPhrasePrefixQuery.java (original)
+++ lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/TestPhrasePrefixQuery.java Wed Feb 9 09:35:27 2011
@@ -65,7 +65,7 @@ public class TestPhrasePrefixQuery exten
IndexReader reader = writer.getReader();
writer.close();
- IndexSearcher searcher = new IndexSearcher(reader);
+ IndexSearcher searcher = newSearcher(reader);
// PhrasePrefixQuery query1 = new PhrasePrefixQuery();
MultiPhraseQuery query1 = new MultiPhraseQuery();
Modified: lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/TestPhraseQuery.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/TestPhraseQuery.java?rev=1068809&r1=1068808&r2=1068809&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/TestPhraseQuery.java (original)
+++ lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/TestPhraseQuery.java Wed Feb 9 09:35:27 2011
@@ -86,7 +86,7 @@ public class TestPhraseQuery extends Luc
reader = writer.getReader();
writer.close();
- searcher = new IndexSearcher(reader);
+ searcher = newSearcher(reader);
query = new PhraseQuery();
}
@@ -221,7 +221,7 @@ public class TestPhraseQuery extends Luc
IndexReader reader = writer.getReader();
writer.close();
- IndexSearcher searcher = new IndexSearcher(reader);
+ IndexSearcher searcher = newSearcher(reader);
// valid exact phrase query
PhraseQuery query = new PhraseQuery();
@@ -262,7 +262,7 @@ public class TestPhraseQuery extends Luc
IndexReader reader = writer.getReader();
writer.close();
- IndexSearcher searcher = new IndexSearcher(reader);
+ IndexSearcher searcher = newSearcher(reader);
PhraseQuery phraseQuery = new PhraseQuery();
phraseQuery.add(new Term("source", "marketing"));
@@ -301,7 +301,7 @@ public class TestPhraseQuery extends Luc
reader = writer.getReader();
writer.close();
- searcher = new IndexSearcher(reader);
+ searcher = newSearcher(reader);
termQuery = new TermQuery(new Term("contents","woo"));
phraseQuery = new PhraseQuery();
@@ -335,7 +335,7 @@ public class TestPhraseQuery extends Luc
public void testSlopScoring() throws IOException {
Directory directory = newDirectory();
- RandomIndexWriter writer = new RandomIndexWriter(random, directory);
+ RandomIndexWriter writer = new RandomIndexWriter(random, directory, newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()).setMergePolicy(newInOrderLogMergePolicy()));
Document doc = new Document();
doc.add(newField("field", "foo firstname lastname foo", Field.Store.YES, Field.Index.ANALYZED));
@@ -352,7 +352,7 @@ public class TestPhraseQuery extends Luc
IndexReader reader = writer.getReader();
writer.close();
- IndexSearcher searcher = new IndexSearcher(reader);
+ IndexSearcher searcher = newSearcher(reader);
PhraseQuery query = new PhraseQuery();
query.add(new Term("field", "firstname"));
query.add(new Term("field", "lastname"));
@@ -598,7 +598,7 @@ public class TestPhraseQuery extends Luc
Directory dir = newDirectory();
Analyzer analyzer = new MockAnalyzer();
- RandomIndexWriter w = new RandomIndexWriter(random, dir, analyzer);
+ RandomIndexWriter w = new RandomIndexWriter(random, dir, newIndexWriterConfig(TEST_VERSION_CURRENT, analyzer).setMergePolicy(newInOrderLogMergePolicy()));
List<List<String>> docs = new ArrayList<List<String>>();
Document d = new Document();
Field f = newField("f", "", Field.Store.NO, Field.Index.ANALYZED);
@@ -649,7 +649,7 @@ public class TestPhraseQuery extends Luc
}
IndexReader reader = w.getReader();
- IndexSearcher s = new IndexSearcher(reader);
+ IndexSearcher s = newSearcher(reader);
w.close();
// now search
Modified: lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/TestPositionIncrement.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/TestPositionIncrement.java?rev=1068809&r1=1068808&r2=1068809&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/TestPositionIncrement.java (original)
+++ lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/TestPositionIncrement.java Wed Feb 9 09:35:27 2011
@@ -40,6 +40,7 @@ import org.apache.lucene.index.Term;
import org.apache.lucene.queryParser.QueryParser;
import org.apache.lucene.store.Directory;
import org.apache.lucene.search.payloads.PayloadSpanUtil;
+import org.apache.lucene.search.spans.MultiSpansWrapper;
import org.apache.lucene.search.spans.SpanNearQuery;
import org.apache.lucene.search.spans.SpanQuery;
import org.apache.lucene.search.spans.SpanTermQuery;
@@ -95,7 +96,7 @@ public class TestPositionIncrement exten
writer.close();
- IndexSearcher searcher = new IndexSearcher(reader);
+ IndexSearcher searcher = newSearcher(reader);
DocsAndPositionsEnum pos = MultiFields.getTermPositionsEnum(searcher.getIndexReader(),
MultiFields.getDeletedDocs(searcher.getIndexReader()),
@@ -243,14 +244,15 @@ public class TestPositionIncrement exten
"a a b c d e a f g h i j a b k k")));
writer.addDocument(doc);
- IndexReader r = new SlowMultiReaderWrapper(writer.getReader());
+ final IndexReader readerFromWriter = writer.getReader();
+ SlowMultiReaderWrapper r = new SlowMultiReaderWrapper(readerFromWriter);
DocsAndPositionsEnum tp = r.termPositionsEnum(r.getDeletedDocs(),
"content",
new BytesRef("a"));
int count = 0;
- assertTrue(tp.nextDoc() != tp.NO_MORE_DOCS);
+ assertTrue(tp.nextDoc() != DocsAndPositionsEnum.NO_MORE_DOCS);
// "a" occurs 4 times
assertEquals(4, tp.freq());
int expected = 0;
@@ -260,9 +262,9 @@ public class TestPositionIncrement exten
assertEquals(6, tp.nextPosition());
// only one doc has "a"
- assertEquals(tp.NO_MORE_DOCS, tp.nextDoc());
+ assertEquals(DocsAndPositionsEnum.NO_MORE_DOCS, tp.nextDoc());
- IndexSearcher is = new IndexSearcher(r);
+ IndexSearcher is = newSearcher(readerFromWriter);
SpanTermQuery stq1 = new SpanTermQuery(new Term("content", "a"));
SpanTermQuery stq2 = new SpanTermQuery(new Term("content", "k"));
@@ -274,7 +276,7 @@ public class TestPositionIncrement exten
if (VERBOSE) {
System.out.println("\ngetPayloadSpans test");
}
- Spans pspans = snq.getSpans(is.getIndexReader());
+ Spans pspans = MultiSpansWrapper.wrap(is.getTopReaderContext(), snq);
while (pspans.next()) {
if (VERBOSE) {
System.out.println("doc " + pspans.doc() + ": span " + pspans.start()
@@ -289,11 +291,11 @@ public class TestPositionIncrement exten
}
}
}
- assertEquals(5, count);
assertTrue(sawZero);
+ assertEquals(5, count);
// System.out.println("\ngetSpans test");
- Spans spans = snq.getSpans(is.getIndexReader());
+ Spans spans = MultiSpansWrapper.wrap(is.getTopReaderContext(), snq);
count = 0;
sawZero = false;
while (spans.next()) {
@@ -308,7 +310,7 @@ public class TestPositionIncrement exten
// System.out.println("\nPayloadSpanUtil test");
sawZero = false;
- PayloadSpanUtil psu = new PayloadSpanUtil(is.getIndexReader());
+ PayloadSpanUtil psu = new PayloadSpanUtil(is.getTopReaderContext());
Collection<byte[]> pls = psu.getPayloadsForQuery(snq);
count = pls.size();
for (byte[] bytes : pls) {
Modified: lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/TestPositiveScoresOnlyCollector.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/TestPositiveScoresOnlyCollector.java?rev=1068809&r1=1068808&r2=1068809&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/TestPositiveScoresOnlyCollector.java (original)
+++ lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/TestPositiveScoresOnlyCollector.java Wed Feb 9 09:35:27 2011
@@ -19,6 +19,10 @@ package org.apache.lucene.search;
import java.io.IOException;
+import org.apache.lucene.index.IndexReader;
+import org.apache.lucene.index.RandomIndexWriter;
+import org.apache.lucene.index.Term;
+import org.apache.lucene.store.Directory;
import org.apache.lucene.util.LuceneTestCase;
public class TestPositiveScoresOnlyCollector extends LuceneTestCase {
@@ -26,8 +30,8 @@ public class TestPositiveScoresOnlyColle
private static final class SimpleScorer extends Scorer {
private int idx = -1;
- public SimpleScorer() {
- super(null);
+ public SimpleScorer(Weight weight) {
+ super(weight);
}
@Override public float score() throws IOException {
@@ -65,7 +69,14 @@ public class TestPositiveScoresOnlyColle
}
}
- Scorer s = new SimpleScorer();
+ Directory directory = newDirectory();
+ RandomIndexWriter writer = new RandomIndexWriter(random, directory);
+ writer.commit();
+ IndexReader ir = writer.getReader();
+ writer.close();
+ IndexSearcher searcher = newSearcher(ir);
+ Weight fake = new TermQuery(new Term("fake", "weight")).createWeight(searcher);
+ Scorer s = new SimpleScorer(fake);
TopDocsCollector<ScoreDoc> tdc = TopScoreDocCollector.create(scores.length, true);
Collector c = new PositiveScoresOnlyCollector(tdc);
c.setScorer(s);
@@ -78,6 +89,9 @@ public class TestPositiveScoresOnlyColle
for (int i = 0; i < sd.length; i++) {
assertTrue("only positive scores should return: " + sd[i].score, sd[i].score > 0);
}
+ searcher.close();
+ ir.close();
+ directory.close();
}
}
Modified: lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/TestPrefixFilter.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/TestPrefixFilter.java?rev=1068809&r1=1068808&r2=1068809&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/TestPrefixFilter.java (original)
+++ lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/TestPrefixFilter.java Wed Feb 9 09:35:27 2011
@@ -48,7 +48,7 @@ public class TestPrefixFilter extends Lu
// PrefixFilter combined with ConstantScoreQuery
PrefixFilter filter = new PrefixFilter(new Term("category", "/Computers"));
Query query = new ConstantScoreQuery(filter);
- IndexSearcher searcher = new IndexSearcher(reader);
+ IndexSearcher searcher = newSearcher(reader);
ScoreDoc[] hits = searcher.search(query, null, 1000).scoreDocs;
assertEquals(4, hits.length);
Modified: lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/TestPrefixInBooleanQuery.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/TestPrefixInBooleanQuery.java?rev=1068809&r1=1068808&r2=1068809&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/TestPrefixInBooleanQuery.java (original)
+++ lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/TestPrefixInBooleanQuery.java Wed Feb 9 09:35:27 2011
@@ -75,7 +75,7 @@ public class TestPrefixInBooleanQuery ex
}
reader = writer.getReader();
- searcher = new IndexSearcher(reader);
+ searcher = newSearcher(reader);
writer.close();
}
Modified: lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/TestPrefixQuery.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/TestPrefixQuery.java?rev=1068809&r1=1068808&r2=1068809&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/TestPrefixQuery.java (original)
+++ lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/TestPrefixQuery.java Wed Feb 9 09:35:27 2011
@@ -47,7 +47,7 @@ public class TestPrefixQuery extends Luc
IndexReader reader = writer.getReader();
PrefixQuery query = new PrefixQuery(new Term("category", "/Computers"));
- IndexSearcher searcher = new IndexSearcher(reader);
+ IndexSearcher searcher = newSearcher(reader);
ScoreDoc[] hits = searcher.search(query, null, 1000).scoreDocs;
assertEquals("All documents in /Computers category and below", 3, hits.length);
Modified: lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/TestPrefixRandom.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/TestPrefixRandom.java?rev=1068809&r1=1068808&r2=1068809&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/TestPrefixRandom.java (original)
+++ lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/TestPrefixRandom.java Wed Feb 9 09:35:27 2011
@@ -65,7 +65,7 @@ public class TestPrefixRandom extends Lu
writer.addDocument(doc);
}
reader = writer.getReader();
- searcher = new IndexSearcher(reader);
+ searcher = newSearcher(reader);
writer.close();
}
Modified: lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/TestQueryWrapperFilter.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/TestQueryWrapperFilter.java?rev=1068809&r1=1068808&r2=1068809&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/TestQueryWrapperFilter.java (original)
+++ lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/TestQueryWrapperFilter.java Wed Feb 9 09:35:27 2011
@@ -43,7 +43,7 @@ public class TestQueryWrapperFilter exte
// should not throw exception with primitive query
QueryWrapperFilter qwf = new QueryWrapperFilter(termQuery);
- IndexSearcher searcher = new IndexSearcher(reader);
+ IndexSearcher searcher = newSearcher(reader);
TopDocs hits = searcher.search(new MatchAllDocsQuery(), qwf, 10);
assertEquals(1, hits.totalHits);
hits = searcher.search(new MatchAllDocsQuery(), new CachingWrapperFilter(qwf), 10);
Modified: lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/TestRegexpQuery.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/TestRegexpQuery.java?rev=1068809&r1=1068808&r2=1068809&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/TestRegexpQuery.java (original)
+++ lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/TestRegexpQuery.java Wed Feb 9 09:35:27 2011
@@ -42,6 +42,7 @@ public class TestRegexpQuery extends Luc
private Directory directory;
private final String FN = "field";
+ @Override
public void setUp() throws Exception {
super.setUp();
directory = newDirectory();
@@ -53,9 +54,10 @@ public class TestRegexpQuery extends Luc
writer.addDocument(doc);
reader = writer.getReader();
writer.close();
- searcher = new IndexSearcher(reader);
+ searcher = newSearcher(reader);
}
+ @Override
public void tearDown() throws Exception {
searcher.close();
reader.close();
Modified: lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/TestRegexpRandom.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/TestRegexpRandom.java?rev=1068809&r1=1068808&r2=1068809&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/TestRegexpRandom.java (original)
+++ lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/TestRegexpRandom.java Wed Feb 9 09:35:27 2011
@@ -62,7 +62,7 @@ public class TestRegexpRandom extends Lu
reader = writer.getReader();
writer.close();
- searcher = new IndexSearcher(reader);
+ searcher = newSearcher(reader);
}
private char N() {
Modified: lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/TestRegexpRandom2.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/TestRegexpRandom2.java?rev=1068809&r1=1068808&r2=1068809&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/TestRegexpRandom2.java (original)
+++ lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/TestRegexpRandom2.java Wed Feb 9 09:35:27 2011
@@ -82,7 +82,7 @@ public class TestRegexpRandom2 extends L
}
reader = writer.getReader();
- searcher = new IndexSearcher(reader);
+ searcher = newSearcher(reader);
writer.close();
}
Modified: lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/TestScoreCachingWrappingScorer.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/TestScoreCachingWrappingScorer.java?rev=1068809&r1=1068808&r2=1068809&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/TestScoreCachingWrappingScorer.java (original)
+++ lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/TestScoreCachingWrappingScorer.java Wed Feb 9 09:35:27 2011
@@ -20,6 +20,10 @@ package org.apache.lucene.search;
import java.io.IOException;
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;
public class TestScoreCachingWrappingScorer extends LuceneTestCase {
@@ -28,8 +32,8 @@ public class TestScoreCachingWrappingSco
private int idx = 0;
private int doc = -1;
- public SimpleScorer() {
- super(null);
+ public SimpleScorer(Weight weight) {
+ super(weight);
}
@Override public float score() throws IOException {
@@ -76,7 +80,7 @@ public class TestScoreCachingWrappingSco
++idx;
}
- @Override public void setNextReader(IndexReader reader, int docBase)
+ @Override public void setNextReader(AtomicReaderContext context)
throws IOException {
}
@@ -95,8 +99,14 @@ public class TestScoreCachingWrappingSco
8.108544f, 4.961808f, 2.2423935f, 7.285586f, 4.6699767f };
public void testGetScores() throws Exception {
-
- Scorer s = new SimpleScorer();
+ Directory directory = newDirectory();
+ RandomIndexWriter writer = new RandomIndexWriter(random, directory);
+ writer.commit();
+ IndexReader ir = writer.getReader();
+ writer.close();
+ IndexSearcher searcher = newSearcher(ir);
+ Weight fake = new TermQuery(new Term("fake", "weight")).createWeight(searcher);
+ Scorer s = new SimpleScorer(fake);
ScoreCachingCollector scc = new ScoreCachingCollector(scores.length);
scc.setScorer(s);
@@ -109,7 +119,9 @@ public class TestScoreCachingWrappingSco
for (int i = 0; i < scores.length; i++) {
assertEquals(scores[i], scc.mscores[i], 0f);
}
-
+ searcher.close();
+ ir.close();
+ directory.close();
}
}
Modified: lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/TestScorerPerf.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/TestScorerPerf.java?rev=1068809&r1=1068808&r2=1068809&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/TestScorerPerf.java (original)
+++ lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/TestScorerPerf.java Wed Feb 9 09:35:27 2011
@@ -6,7 +6,7 @@ import org.apache.lucene.util.LuceneTest
import java.util.BitSet;
import java.io.IOException;
-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;
@@ -109,8 +109,8 @@ public class TestScorerPerf extends Luce
public int getSum() { return sum; }
@Override
- public void setNextReader(IndexReader reader, int base) {
- docBase = base;
+ public void setNextReader(AtomicReaderContext context) {
+ docBase = context.docBase;
}
@Override
public boolean acceptsDocsOutOfOrder() {
@@ -141,7 +141,7 @@ public class TestScorerPerf extends Luce
final BitSet rnd = sets[random.nextInt(sets.length)];
Query q = new ConstantScoreQuery(new Filter() {
@Override
- public DocIdSet getDocIdSet(IndexReader reader) {
+ public DocIdSet getDocIdSet(AtomicReaderContext context) {
return new DocIdBitSet(rnd);
}
});
Modified: lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/TestSearchWithThreads.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/TestSearchWithThreads.java?rev=1068809&r1=1068808&r2=1068809&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/TestSearchWithThreads.java (original)
+++ lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/TestSearchWithThreads.java Wed Feb 9 09:35:27 2011
@@ -63,7 +63,7 @@ public class TestSearchWithThreads exten
final long endTime = System.currentTimeMillis();
if (VERBOSE) System.out.println("BUILD took " + (endTime-startTime));
- final IndexSearcher s = new IndexSearcher(r);
+ final IndexSearcher s = newSearcher(r);
final AtomicBoolean failed = new AtomicBoolean();
final AtomicLong netSearch = new AtomicLong();
Modified: lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/TestSetNorm.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/TestSetNorm.java?rev=1068809&r1=1068808&r2=1068809&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/TestSetNorm.java (original)
+++ lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/TestSetNorm.java Wed Feb 9 09:35:27 2011
@@ -23,6 +23,7 @@ import org.apache.lucene.util.LuceneTest
import org.apache.lucene.analysis.MockAnalyzer;
import org.apache.lucene.document.*;
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.store.Directory;
@@ -50,10 +51,11 @@ public class TestSetNorm extends LuceneT
// reset the boost of each instance of this document
IndexReader reader = IndexReader.open(store, false);
- reader.setNorm(0, "field", 1.0f);
- reader.setNorm(1, "field", 2.0f);
- reader.setNorm(2, "field", 4.0f);
- reader.setNorm(3, "field", 16.0f);
+ Similarity similarity = new DefaultSimilarity().get("field");
+ reader.setNorm(0, "field", similarity.encodeNormValue(1.0f));
+ reader.setNorm(1, "field", similarity.encodeNormValue(2.0f));
+ reader.setNorm(2, "field", similarity.encodeNormValue(4.0f));
+ reader.setNorm(3, "field", similarity.encodeNormValue(16.0f));
reader.close();
// check that searches are ordered by this boost
@@ -74,8 +76,8 @@ public class TestSetNorm extends LuceneT
scores[doc + base] = scorer.score();
}
@Override
- public void setNextReader(IndexReader reader, int docBase) {
- base = docBase;
+ public void setNextReader(AtomicReaderContext context) {
+ base = context.docBase;
}
@Override
public boolean acceptsDocsOutOfOrder() {
Modified: lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/TestSimilarity.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/TestSimilarity.java?rev=1068809&r1=1068808&r2=1068809&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/TestSimilarity.java (original)
+++ lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/TestSimilarity.java Wed Feb 9 09:35:27 2011
@@ -21,7 +21,9 @@ import org.apache.lucene.util.LuceneTest
import java.io.IOException;
import java.util.Collection;
+import org.apache.lucene.index.FieldInvertState;
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;
@@ -37,13 +39,11 @@ import org.apache.lucene.search.Explanat
*/
public class TestSimilarity extends LuceneTestCase {
- public static class SimpleSimilarity extends Similarity {
- @Override public float lengthNorm(String field, int numTerms) { return 1.0f; }
- @Override public float queryNorm(float sumOfSquaredWeights) { return 1.0f; }
+ public static class SimpleSimilarity extends Similarity implements SimilarityProvider {
+ @Override public float computeNorm(String field, FieldInvertState state) { return state.getBoost(); }
@Override public float tf(float freq) { return freq; }
@Override public float sloppyFreq(int distance) { return 2.0f; }
@Override public float idf(int docFreq, int numDocs) { return 1.0f; }
- @Override public float coord(int overlap, int maxOverlap) { return 1.0f; }
@Override public IDFExplanation idfExplain(Collection<Term> terms, IndexSearcher searcher) throws IOException {
return new IDFExplanation() {
@Override
@@ -56,13 +56,18 @@ public class TestSimilarity extends Luce
}
};
}
+ public float queryNorm(float sumOfSquaredWeights) { return 1.0f; }
+ public float coord(int overlap, int maxOverlap) { return 1.0f; }
+ public Similarity get(String field) {
+ return this;
+ }
}
public void testSimilarity() throws Exception {
Directory store = newDirectory();
RandomIndexWriter writer = new RandomIndexWriter(random, store,
newIndexWriterConfig( TEST_VERSION_CURRENT, new MockAnalyzer())
- .setSimilarity(new SimpleSimilarity()));
+ .setSimilarityProvider(new SimpleSimilarity()));
Document d1 = new Document();
d1.add(newField("field", "a c", Field.Store.YES, Field.Index.ANALYZED));
@@ -75,8 +80,8 @@ public class TestSimilarity extends Luce
IndexReader reader = writer.getReader();
writer.close();
- IndexSearcher searcher = new IndexSearcher(reader);
- searcher.setSimilarity(new SimpleSimilarity());
+ IndexSearcher searcher = newSearcher(reader);
+ searcher.setSimilarityProvider(new SimpleSimilarity());
Term a = new Term("field", "a");
Term b = new Term("field", "b");
@@ -93,7 +98,7 @@ public class TestSimilarity extends Luce
assertEquals(1.0f, scorer.score());
}
@Override
- public void setNextReader(IndexReader reader, int docBase) {}
+ public void setNextReader(AtomicReaderContext context) {}
@Override
public boolean acceptsDocsOutOfOrder() {
return true;
@@ -117,8 +122,8 @@ public class TestSimilarity extends Luce
assertEquals((float)doc+base+1, scorer.score());
}
@Override
- public void setNextReader(IndexReader reader, int docBase) {
- base = docBase;
+ public void setNextReader(AtomicReaderContext context) {
+ base = context.docBase;
}
@Override
public boolean acceptsDocsOutOfOrder() {
@@ -143,7 +148,7 @@ public class TestSimilarity extends Luce
assertEquals(1.0f, scorer.score());
}
@Override
- public void setNextReader(IndexReader reader, int docBase) {}
+ public void setNextReader(AtomicReaderContext context) {}
@Override
public boolean acceptsDocsOutOfOrder() {
return true;
@@ -164,7 +169,7 @@ public class TestSimilarity extends Luce
assertEquals(2.0f, scorer.score());
}
@Override
- public void setNextReader(IndexReader reader, int docBase) {}
+ public void setNextReader(AtomicReaderContext context) {}
@Override
public boolean acceptsDocsOutOfOrder() {
return true;
Modified: lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/TestSloppyPhraseQuery.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/TestSloppyPhraseQuery.java?rev=1068809&r1=1068808&r2=1068809&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/TestSloppyPhraseQuery.java (original)
+++ lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/TestSloppyPhraseQuery.java Wed Feb 9 09:35:27 2011
@@ -121,7 +121,7 @@ public class TestSloppyPhraseQuery exten
IndexReader reader = writer.getReader();
- IndexSearcher searcher = new IndexSearcher(reader);
+ IndexSearcher searcher = newSearcher(reader);
TopDocs td = searcher.search(query,null,10);
//System.out.println("slop: "+slop+" query: "+query+" doc: "+doc+" Expecting number of hits: "+expectedNumResults+" maxScore="+td.getMaxScore());
assertEquals("slop: "+slop+" query: "+query+" doc: "+doc+" Wrong number of hits", expectedNumResults, td.totalHits);
Modified: lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/TestSort.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/TestSort.java?rev=1068809&r1=1068808&r2=1068809&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/TestSort.java (original)
+++ lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/TestSort.java Wed Feb 9 09:35:27 2011
@@ -34,6 +34,7 @@ import org.apache.lucene.document.Docume
import org.apache.lucene.document.Field;
import org.apache.lucene.index.CorruptIndexException;
import org.apache.lucene.index.IndexReader;
+import org.apache.lucene.index.IndexReader.AtomicReaderContext;
import org.apache.lucene.index.IndexWriter;
import org.apache.lucene.index.IndexWriterConfig;
import org.apache.lucene.index.MultiReader;
@@ -120,7 +121,7 @@ public class TestSort extends LuceneTest
throws IOException {
Directory indexStore = newDirectory();
dirs.add(indexStore);
- RandomIndexWriter writer = new RandomIndexWriter(random, indexStore);
+ RandomIndexWriter writer = new RandomIndexWriter(random, indexStore, newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()).setMergePolicy(newInOrderLogMergePolicy()));
for (int i=0; i<data.length; ++i) {
if (((i%2)==0 && even) || ((i%2)==1 && odd)) {
@@ -143,7 +144,7 @@ public class TestSort extends LuceneTest
}
IndexReader reader = writer.getReader();
writer.close ();
- IndexSearcher s = new IndexSearcher (reader);
+ IndexSearcher s = newSearcher(reader);
s.setDefaultFieldSortScoring(true, true);
return s;
}
@@ -505,8 +506,8 @@ public class TestSort extends LuceneTest
}
@Override
- public FieldComparator setNextReader(IndexReader reader, int docBase) throws IOException {
- docValues = FieldCache.DEFAULT.getInts(reader, "parser", new FieldCache.IntParser() {
+ public FieldComparator setNextReader(AtomicReaderContext context) throws IOException {
+ docValues = FieldCache.DEFAULT.getInts(context.reader, "parser", new FieldCache.IntParser() {
public final int parseInt(final BytesRef term) {
return (term.bytes[term.offset]-'A') * 123456;
}
@@ -687,9 +688,9 @@ public class TestSort extends LuceneTest
// a filter that only allows through the first hit
Filter filt = new Filter() {
@Override
- public DocIdSet getDocIdSet(IndexReader reader) throws IOException {
- BitSet bs = new BitSet(reader.maxDoc());
- bs.set(0, reader.maxDoc());
+ public DocIdSet getDocIdSet(AtomicReaderContext context) throws IOException {
+ BitSet bs = new BitSet(context.reader.maxDoc());
+ bs.set(0, context.reader.maxDoc());
bs.set(docs1.scoreDocs[0].doc);
return new DocIdBitSet(bs);
}
@@ -1058,14 +1059,15 @@ public class TestSort extends LuceneTest
doc.add(newField("t", "1", Field.Store.NO, Field.Index.NOT_ANALYZED));
w.addDocument(doc);
- IndexReader r = IndexReader.open(w);
+ IndexReader r = IndexReader.open(w, true);
w.close();
- IndexSearcher s = new IndexSearcher(r);
+ IndexSearcher s = newSearcher(r);
TopDocs hits = s.search(new TermQuery(new Term("t", "1")), null, 10, new Sort(new SortField("f", SortField.STRING)));
assertEquals(2, hits.totalHits);
// null sorts first
assertEquals(1, hits.scoreDocs[0].doc);
assertEquals(0, hits.scoreDocs[1].doc);
+ s.close();
r.close();
dir.close();
}
@@ -1104,10 +1106,11 @@ public class TestSort extends LuceneTest
IndexReader reader = writer.getReader();
writer.close();
- IndexSearcher searcher = new IndexSearcher(reader);
+ IndexSearcher searcher = newSearcher(reader);
TotalHitCountCollector c = new TotalHitCountCollector();
searcher.search(new MatchAllDocsQuery(), null, c);
assertEquals(5, c.getTotalHits());
+ searcher.close();
reader.close();
indexStore.close();
}
Modified: lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/TestSpanQueryFilter.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/TestSpanQueryFilter.java?rev=1068809&r1=1068808&r2=1068809&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/TestSpanQueryFilter.java (original)
+++ lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/TestSpanQueryFilter.java Wed Feb 9 09:35:27 2011
@@ -18,37 +18,42 @@ package org.apache.lucene.search;
import java.util.List;
+import org.apache.lucene.analysis.MockAnalyzer;
import org.apache.lucene.document.Document;
import org.apache.lucene.document.Field;
+import org.apache.lucene.index.IndexReader.AtomicReaderContext;
import org.apache.lucene.index.IndexReader;
import org.apache.lucene.index.RandomIndexWriter;
-import org.apache.lucene.index.SlowMultiReaderWrapper;
import org.apache.lucene.index.Term;
import org.apache.lucene.search.spans.SpanTermQuery;
import org.apache.lucene.store.Directory;
import org.apache.lucene.util.English;
import org.apache.lucene.util.LuceneTestCase;
+import org.apache.lucene.util.ReaderUtil;
public class TestSpanQueryFilter extends LuceneTestCase {
public void testFilterWorks() throws Exception {
Directory dir = newDirectory();
- RandomIndexWriter writer = new RandomIndexWriter(random, dir);
+ RandomIndexWriter writer = new RandomIndexWriter(random, dir, newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()).setMergePolicy(newInOrderLogMergePolicy()));
for (int i = 0; i < 500; i++) {
Document document = new Document();
document.add(newField("field", English.intToEnglish(i) + " equals " + English.intToEnglish(i),
Field.Store.NO, Field.Index.ANALYZED));
writer.addDocument(document);
}
- IndexReader reader = writer.getReader();
+ final int number = 10;
+ IndexReader reader = writer.getReader();
writer.close();
-
- SpanTermQuery query = new SpanTermQuery(new Term("field", English.intToEnglish(10).trim()));
+ AtomicReaderContext[] leaves = ReaderUtil.leaves(reader.getTopReaderContext());
+ int subIndex = ReaderUtil.subIndex(number, leaves); // find the reader with this document in it
+
+ SpanTermQuery query = new SpanTermQuery(new Term("field", English.intToEnglish(number).trim()));
SpanQueryFilter filter = new SpanQueryFilter(query);
- SpanFilterResult result = filter.bitSpans(new SlowMultiReaderWrapper(reader));
+ SpanFilterResult result = filter.bitSpans(leaves[subIndex]);
DocIdSet docIdSet = result.getDocIdSet();
assertTrue("docIdSet is null and it shouldn't be", docIdSet != null);
- assertContainsDocId("docIdSet doesn't contain docId 10", docIdSet, 10);
+ assertContainsDocId("docIdSet doesn't contain docId 10", docIdSet, number);
List<SpanFilterResult.PositionInfo> spans = result.getPositions();
assertTrue("spans is null and it shouldn't be", spans != null);
int size = getDocIdSetSize(docIdSet);
@@ -60,6 +65,7 @@ public class TestSpanQueryFilter extends
//There should be two positions in each
assertTrue("info.getPositions() Size: " + info.getPositions().size() + " is not: " + 2, info.getPositions().size() == 2);
}
+
reader.close();
dir.close();
}
Modified: lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/TestSubScorerFreqs.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/TestSubScorerFreqs.java?rev=1068809&r1=1068808&r2=1068809&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/TestSubScorerFreqs.java (original)
+++ lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/TestSubScorerFreqs.java Wed Feb 9 09:35:27 2011
@@ -17,19 +17,20 @@ package org.apache.lucene.search;
* limitations under the License.
*/
+import java.io.*;
+import java.util.*;
+
+import org.apache.lucene.analysis.MockAnalyzer;
import org.apache.lucene.document.*;
import org.apache.lucene.index.*;
-import org.apache.lucene.util.*;
+import org.apache.lucene.index.IndexReader.AtomicReaderContext;
import org.apache.lucene.search.BooleanClause.Occur;
import org.apache.lucene.search.Scorer.ScorerVisitor;
import org.apache.lucene.store.*;
-
-import java.util.*;
-import java.io.*;
-
-import org.junit.Test;
+import org.apache.lucene.util.*;
import org.junit.AfterClass;
import org.junit.BeforeClass;
+import org.junit.Test;
public class TestSubScorerFreqs extends LuceneTestCase {
@@ -40,7 +41,7 @@ public class TestSubScorerFreqs extends
public static void makeIndex() throws Exception {
dir = new RAMDirectory();
RandomIndexWriter w = new RandomIndexWriter(
- random, dir);
+ random, dir, newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()).setMergePolicy(newInOrderLogMergePolicy()));
// make sure we have more than one segment occationally
for (int i = 0; i < 31 * RANDOM_MULTIPLIER; i++) {
Document doc = new Document();
@@ -53,7 +54,7 @@ public class TestSubScorerFreqs extends
w.addDocument(doc);
}
- s = new IndexSearcher(w.getReader());
+ s = newSearcher(w.getReader());
w.close();
}
@@ -126,10 +127,10 @@ public class TestSubScorerFreqs extends
}
@Override
- public void setNextReader(IndexReader reader, int docBase)
+ public void setNextReader(AtomicReaderContext context)
throws IOException {
- this.docBase = docBase;
- other.setNextReader(reader, docBase);
+ docBase = context.docBase;
+ other.setNextReader(context);
}
@Override
Modified: lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/TestTermRangeFilter.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/TestTermRangeFilter.java?rev=1068809&r1=1068808&r2=1068809&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/TestTermRangeFilter.java (original)
+++ lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/TestTermRangeFilter.java Wed Feb 9 09:35:27 2011
@@ -44,7 +44,7 @@ public class TestTermRangeFilter extends
public void testRangeFilterId() throws IOException {
IndexReader reader = signedIndexReader;
- IndexSearcher search = new IndexSearcher(reader);
+ IndexSearcher search = newSearcher(reader);
int medId = ((maxId - minId) / 2);
@@ -141,13 +141,14 @@ public class TestTermRangeFilter extends
numDocs).scoreDocs;
assertEquals("med,med,T,T", 1, result.length);
+ search.close();
}
@Test
public void testRangeFilterIdCollating() throws IOException {
IndexReader reader = signedIndexReader;
- IndexSearcher search = new IndexSearcher(reader);
+ IndexSearcher search = newSearcher(reader);
Collator c = Collator.getInstance(Locale.ENGLISH);
@@ -243,13 +244,15 @@ public class TestTermRangeFilter extends
numHits = search.search(q,
new TermRangeFilter("id", medIP, medIP, T, T, c), 1000).totalHits;
assertEquals("med,med,T,T", 1, numHits);
+
+ search.close();
}
@Test
public void testRangeFilterRand() throws IOException {
IndexReader reader = signedIndexReader;
- IndexSearcher search = new IndexSearcher(reader);
+ IndexSearcher search = newSearcher(reader);
String minRP = pad(signedIndexDir.minR);
String maxRP = pad(signedIndexDir.maxR);
@@ -320,6 +323,7 @@ public class TestTermRangeFilter extends
numDocs).scoreDocs;
assertEquals("max,nul,T,T", 1, result.length);
+ search.close();
}
@Test
@@ -327,7 +331,7 @@ public class TestTermRangeFilter extends
// using the unsigned index because collation seems to ignore hyphens
IndexReader reader = unsignedIndexReader;
- IndexSearcher search = new IndexSearcher(reader);
+ IndexSearcher search = newSearcher(reader);
Collator c = Collator.getInstance(Locale.ENGLISH);
@@ -398,6 +402,8 @@ public class TestTermRangeFilter extends
numHits = search.search(q,
new TermRangeFilter("rand", maxRP, null, T, F, c), 1000).totalHits;
assertEquals("max,nul,T,T", 1, numHits);
+
+ search.close();
}
@Test
@@ -417,7 +423,7 @@ public class TestTermRangeFilter extends
IndexReader reader = writer.getReader();
writer.close();
- IndexSearcher search = new IndexSearcher(reader);
+ IndexSearcher search = newSearcher(reader);
Query q = new TermQuery(new Term("body", "body"));
// Neither Java 1.4.2 nor 1.5.0 has Farsi Locale collation available in
@@ -461,7 +467,7 @@ public class TestTermRangeFilter extends
IndexReader reader = writer.getReader();
writer.close();
- IndexSearcher search = new IndexSearcher(reader);
+ IndexSearcher search = newSearcher(reader);
Query q = new TermQuery(new Term("body", "body"));
Collator collator = Collator.getInstance(new Locale("da", "dk"));
Modified: lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/TestTermScorer.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/TestTermScorer.java?rev=1068809&r1=1068808&r2=1068809&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/TestTermScorer.java (original)
+++ lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/TestTermScorer.java Wed Feb 9 09:35:27 2011
@@ -21,14 +21,17 @@ import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
-import org.apache.lucene.util.LuceneTestCase;
+import org.apache.lucene.analysis.MockAnalyzer;
import org.apache.lucene.document.Document;
import org.apache.lucene.document.Field;
+import org.apache.lucene.index.IndexReader.AtomicReaderContext;
import org.apache.lucene.index.IndexReader;
import org.apache.lucene.index.RandomIndexWriter;
-import org.apache.lucene.index.Term;
import org.apache.lucene.index.SlowMultiReaderWrapper;
+import org.apache.lucene.index.Term;
+import org.apache.lucene.search.Weight.ScorerContext;
import org.apache.lucene.store.Directory;
+import org.apache.lucene.util.LuceneTestCase;
public class TestTermScorer extends LuceneTestCase {
protected Directory directory;
@@ -44,7 +47,7 @@ public class TestTermScorer extends Luce
super.setUp();
directory = newDirectory();
- RandomIndexWriter writer = new RandomIndexWriter(random, directory);
+ RandomIndexWriter writer = new RandomIndexWriter(random, directory, newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()).setMergePolicy(newInOrderLogMergePolicy()));
for (int i = 0; i < values.length; i++) {
Document doc = new Document();
doc
@@ -54,7 +57,7 @@ public class TestTermScorer extends Luce
}
indexReader = new SlowMultiReaderWrapper(writer.getReader());
writer.close();
- indexSearcher = new IndexSearcher(indexReader);
+ indexSearcher = newSearcher(indexReader);
}
@Override
@@ -70,8 +73,8 @@ public class TestTermScorer extends Luce
TermQuery termQuery = new TermQuery(allTerm);
Weight weight = termQuery.weight(indexSearcher);
-
- Scorer ts = weight.scorer(indexSearcher.getIndexReader(), true, true);
+ assertTrue(indexSearcher.getTopReaderContext().isAtomic);
+ Scorer ts = weight.scorer((AtomicReaderContext)indexSearcher.getTopReaderContext(), ScorerContext.def().scoreDocsInOrder(true).topScorer(true));
// we have 2 documents with the term all in them, one document for all the
// other values
final List<TestHit> docs = new ArrayList<TestHit>();
@@ -97,8 +100,8 @@ public class TestTermScorer extends Luce
}
@Override
- public void setNextReader(IndexReader reader, int docBase) {
- base = docBase;
+ public void setNextReader(AtomicReaderContext context) {
+ base = context.docBase;
}
@Override
@@ -131,8 +134,8 @@ public class TestTermScorer extends Luce
TermQuery termQuery = new TermQuery(allTerm);
Weight weight = termQuery.weight(indexSearcher);
-
- Scorer ts = weight.scorer(indexSearcher.getIndexReader(), true, true);
+ assertTrue(indexSearcher.getTopReaderContext().isAtomic);
+ Scorer ts = weight.scorer((AtomicReaderContext) indexSearcher.getTopReaderContext(), ScorerContext.def().scoreDocsInOrder(true).topScorer(true));
assertTrue("next did not return a doc",
ts.nextDoc() != DocIdSetIterator.NO_MORE_DOCS);
assertTrue("score is not correct", ts.score() == 1.6931472f);
@@ -149,8 +152,9 @@ public class TestTermScorer extends Luce
TermQuery termQuery = new TermQuery(allTerm);
Weight weight = termQuery.weight(indexSearcher);
-
- Scorer ts = weight.scorer(indexSearcher.getIndexReader(), true, true);
+ assertTrue(indexSearcher.getTopReaderContext().isAtomic);
+
+ Scorer ts = weight.scorer((AtomicReaderContext) indexSearcher.getTopReaderContext(), ScorerContext.def().scoreDocsInOrder(true).topScorer(true));
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/branches/docvalues/lucene/src/test/org/apache/lucene/search/TestTermVectors.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/TestTermVectors.java?rev=1068809&r1=1068808&r2=1068809&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/TestTermVectors.java (original)
+++ lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/TestTermVectors.java Wed Feb 9 09:35:27 2011
@@ -42,7 +42,7 @@ public class TestTermVectors extends Luc
public void setUp() throws Exception {
super.setUp();
directory = newDirectory();
- RandomIndexWriter writer = new RandomIndexWriter(random, directory, new MockAnalyzer(MockTokenizer.SIMPLE, true));
+ RandomIndexWriter writer = new RandomIndexWriter(random, directory, newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer(MockTokenizer.SIMPLE, true)).setMergePolicy(newInOrderLogMergePolicy()));
//writer.setUseCompoundFile(true);
//writer.infoStream = System.out;
for (int i = 0; i < 1000; i++) {
@@ -71,7 +71,7 @@ public class TestTermVectors extends Luc
}
reader = writer.getReader();
writer.close();
- searcher = new IndexSearcher(reader);
+ searcher = newSearcher(reader);
}
@Override
@@ -239,14 +239,14 @@ public class TestTermVectors extends Luc
RandomIndexWriter writer = new RandomIndexWriter(random, dir,
newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer(MockTokenizer.SIMPLE, true))
- .setOpenMode(OpenMode.CREATE));
+ .setOpenMode(OpenMode.CREATE).setMergePolicy(newInOrderLogMergePolicy()));
writer.addDocument(testDoc1);
writer.addDocument(testDoc2);
writer.addDocument(testDoc3);
writer.addDocument(testDoc4);
IndexReader reader = writer.getReader();
writer.close();
- IndexSearcher knownSearcher = new IndexSearcher(reader);
+ IndexSearcher knownSearcher = newSearcher(reader);
FieldsEnum fields = MultiFields.getFields(knownSearcher.reader).iterator();
DocsEnum docs = null;
@@ -378,7 +378,7 @@ public class TestTermVectors extends Luc
}
IndexReader reader = writer.getReader();
writer.close();
- searcher = new IndexSearcher(reader);
+ searcher = newSearcher(reader);
Query query = new TermQuery(new Term("field", "hundred"));
ScoreDoc[] hits = searcher.search(query, null, 1000).scoreDocs;
@@ -414,7 +414,7 @@ public class TestTermVectors extends Luc
IndexReader reader = writer.getReader();
writer.close();
- searcher = new IndexSearcher(reader);
+ searcher = newSearcher(reader);
Query query = new TermQuery(new Term("field", "one"));
ScoreDoc[] hits = searcher.search(query, null, 1000).scoreDocs;
Modified: lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/TestThreadSafe.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/TestThreadSafe.java?rev=1068809&r1=1068808&r2=1068809&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/TestThreadSafe.java (original)
+++ lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/TestThreadSafe.java Wed Feb 9 09:35:27 2011
@@ -27,6 +27,7 @@ import org.apache.lucene.document.*;
import java.util.Random;
import java.util.List;
+import java.util.concurrent.atomic.AtomicBoolean;
import java.io.IOException;
public class TestThreadSafe extends LuceneTestCase {
@@ -34,16 +35,16 @@ public class TestThreadSafe extends Luce
IndexReader ir1;
- String failure=null;
-
-
class Thr extends Thread {
final int iter;
final Random rand;
+ final AtomicBoolean failed;
+
// pass in random in case we want to make things reproducable
- public Thr(int iter, Random rand) {
+ public Thr(int iter, Random rand, AtomicBoolean failed) {
this.iter = iter;
this.rand = rand;
+ this.failed = failed;
}
@Override
@@ -61,8 +62,8 @@ public class TestThreadSafe extends Luce
}
} catch (Throwable th) {
- failure=th.toString();
- fail(failure);
+ failed.set(true);
+ throw new RuntimeException(th);
}
}
@@ -124,16 +125,15 @@ public class TestThreadSafe extends Luce
void doTest(int iter, int nThreads) throws Exception {
Thr[] tarr = new Thr[nThreads];
+ AtomicBoolean failed = new AtomicBoolean();
for (int i=0; i<nThreads; i++) {
- tarr[i] = new Thr(iter, new Random(random.nextLong()));
+ tarr[i] = new Thr(iter, new Random(random.nextLong()), failed);
tarr[i].start();
}
for (int i=0; i<nThreads; i++) {
tarr[i].join();
}
- if (failure!=null) {
- fail(failure);
- }
+ assertFalse(failed.get());
}
public void testLazyLoadThreadSafety() throws Exception{
@@ -142,7 +142,7 @@ public class TestThreadSafe extends Luce
buildDir(dir1, 15, 5, 2000);
// do many small tests so the thread locals go away inbetween
- int num = 100 * RANDOM_MULTIPLIER;
+ int num = 10 * RANDOM_MULTIPLIER;
for (int i = 0; i < num; i++) {
ir1 = IndexReader.open(dir1, false);
doTest(10,10);
Modified: lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/TestTimeLimitingCollector.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/TestTimeLimitingCollector.java?rev=1068809&r1=1068808&r2=1068809&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/TestTimeLimitingCollector.java (original)
+++ lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/TestTimeLimitingCollector.java Wed Feb 9 09:35:27 2011
@@ -24,6 +24,7 @@ import org.apache.lucene.analysis.MockAn
import org.apache.lucene.document.Document;
import org.apache.lucene.document.Field;
import org.apache.lucene.index.IndexReader;
+import org.apache.lucene.index.IndexReader.AtomicReaderContext;
import org.apache.lucene.index.RandomIndexWriter;
import org.apache.lucene.queryParser.QueryParser;
import org.apache.lucene.search.TimeLimitingCollector.TimeExceededException;
@@ -81,7 +82,7 @@ public class TestTimeLimitingCollector e
}
reader = iw.getReader();
iw.close();
- searcher = new IndexSearcher(reader);
+ searcher = newSearcher(reader);
String qtxt = "one";
// start from 1, so that the 0th doc never matches
@@ -339,8 +340,8 @@ public class TestTimeLimitingCollector e
}
@Override
- public void setNextReader(IndexReader reader, int base) {
- docBase = base;
+ public void setNextReader(AtomicReaderContext context) {
+ docBase = context.docBase;
}
@Override
Modified: lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/TestTopDocsCollector.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/TestTopDocsCollector.java?rev=1068809&r1=1068808&r2=1068809&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/TestTopDocsCollector.java (original)
+++ lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/TestTopDocsCollector.java Wed Feb 9 09:35:27 2011
@@ -21,6 +21,7 @@ import java.io.IOException;
import org.apache.lucene.document.Document;
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;
@@ -60,9 +61,9 @@ public class TestTopDocsCollector extend
}
@Override
- public void setNextReader(IndexReader reader, int docBase)
+ public void setNextReader(AtomicReaderContext context)
throws IOException {
- base = docBase;
+ base = context.docBase;
}
@Override
@@ -94,7 +95,7 @@ public class TestTopDocsCollector extend
private TopDocsCollector<ScoreDoc> doSearch(int numResults) throws IOException {
Query q = new MatchAllDocsQuery();
- IndexSearcher searcher = new IndexSearcher(reader);
+ IndexSearcher searcher = newSearcher(reader);
TopDocsCollector<ScoreDoc> tdc = new MyTopsDocCollector(numResults);
searcher.search(q, tdc);
searcher.close();
Modified: lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/TestTopScoreDocCollector.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/TestTopScoreDocCollector.java?rev=1068809&r1=1068808&r2=1068809&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/TestTopScoreDocCollector.java (original)
+++ lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/TestTopScoreDocCollector.java Wed Feb 9 09:35:27 2011
@@ -47,7 +47,7 @@ public class TestTopScoreDocCollector ex
// the clause instead of BQ.
bq.setMinimumNumberShouldMatch(1);
IndexReader reader = writer.getReader();
- IndexSearcher searcher = new IndexSearcher(reader);
+ IndexSearcher searcher = newSearcher(reader);
for (int i = 0; i < inOrder.length; i++) {
TopDocsCollector<ScoreDoc> tdc = TopScoreDocCollector.create(3, inOrder[i]);
assertEquals("org.apache.lucene.search.TopScoreDocCollector$" + actualTSDCClass[i], tdc.getClass().getName());
Modified: lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/TestWildcard.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/TestWildcard.java?rev=1068809&r1=1068808&r2=1068809&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/TestWildcard.java (original)
+++ lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/TestWildcard.java Wed Feb 9 09:35:27 2011
@@ -298,7 +298,9 @@ public class TestWildcard
// prepare the index
Directory dir = newDirectory();
- RandomIndexWriter iw = new RandomIndexWriter(random, dir);
+ RandomIndexWriter iw = new RandomIndexWriter(random, dir,
+ newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer())
+ .setMergePolicy(newInOrderLogMergePolicy()));
for (int i = 0; i < docs.length; i++) {
Document doc = new Document();
doc.add(newField(field,docs[i],Store.NO,Index.ANALYZED));
Modified: lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/TestWildcardRandom.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/TestWildcardRandom.java?rev=1068809&r1=1068808&r2=1068809&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/TestWildcardRandom.java (original)
+++ lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/TestWildcardRandom.java Wed Feb 9 09:35:27 2011
@@ -61,7 +61,7 @@ public class TestWildcardRandom extends
}
reader = writer.getReader();
- searcher = new IndexSearcher(reader);
+ searcher = newSearcher(reader);
writer.close();
}
Modified: lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/cache/TestEntryCreators.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/cache/TestEntryCreators.java?rev=1068809&r1=1068808&r2=1068809&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/cache/TestEntryCreators.java (original)
+++ lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/cache/TestEntryCreators.java Wed Feb 9 09:35:27 2011
@@ -22,12 +22,13 @@ import java.lang.reflect.Method;
import java.util.HashSet;
import java.util.Set;
+import org.apache.lucene.analysis.MockAnalyzer;
import org.apache.lucene.document.Document;
import org.apache.lucene.document.Field;
import org.apache.lucene.index.IndexReader;
import org.apache.lucene.index.RandomIndexWriter;
-import org.apache.lucene.search.FieldCache;
import org.apache.lucene.search.FieldCache.*;
+import org.apache.lucene.search.FieldCache;
import org.apache.lucene.store.Directory;
import org.apache.lucene.util.LuceneTestCase;
import org.apache.lucene.util.OpenBitSet;
@@ -53,6 +54,7 @@ public class TestEntryCreators extends L
this.parser = parser;
values = new Number[NUM_DOCS];
}
+ @Override
public String toString()
{
return field;
@@ -65,7 +67,7 @@ public class TestEntryCreators extends L
public void setUp() throws Exception {
super.setUp();
directory = newDirectory();
- RandomIndexWriter writer= new RandomIndexWriter(random, directory);
+ RandomIndexWriter writer= new RandomIndexWriter(random, directory, newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()).setMergePolicy(newInOrderLogMergePolicy()));
typeTests = new NumberTypeTester[] {
new NumberTypeTester( "theRandomByte", "getBytes", ByteValuesCreator.class, ByteParser.class ),
Modified: lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/function/FunctionTestSetup.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/function/FunctionTestSetup.java?rev=1068809&r1=1068808&r2=1068809&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/function/FunctionTestSetup.java (original)
+++ lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/function/FunctionTestSetup.java Wed Feb 9 09:35:27 2011
@@ -99,7 +99,7 @@ public class FunctionTestSetup extends L
// prepare a small index with just a few documents.
dir = newDirectory();
anlzr = new MockAnalyzer();
- IndexWriterConfig iwc = newIndexWriterConfig( TEST_VERSION_CURRENT, anlzr);
+ IndexWriterConfig iwc = newIndexWriterConfig( TEST_VERSION_CURRENT, anlzr).setMergePolicy(newInOrderLogMergePolicy());
if (doMultiSegment) {
iwc.setMaxBufferedDocs(_TestUtil.nextInt(random, 2, 7));
}
Modified: lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/function/JustCompileSearchSpans.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/function/JustCompileSearchSpans.java?rev=1068809&r1=1068808&r2=1068809&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/function/JustCompileSearchSpans.java (original)
+++ lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/search/function/JustCompileSearchSpans.java Wed Feb 9 09:35:27 2011
@@ -18,6 +18,7 @@ package org.apache.lucene.search.functio
*/
import org.apache.lucene.index.IndexReader;
+import org.apache.lucene.index.IndexReader.AtomicReaderContext;
import org.apache.lucene.search.FieldCache;
import java.io.IOException;
@@ -82,7 +83,7 @@ final class JustCompileSearchFunction {
}
@Override
- public DocValues getValues(IndexReader reader) throws IOException {
+ public DocValues getValues(AtomicReaderContext context) throws IOException {
throw new UnsupportedOperationException(UNSUPPORTED_MSG);
}