You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by ma...@apache.org on 2011/12/15 06:11:30 UTC
svn commit: r1214623 [10/17] - in /lucene/dev/branches/solrcloud: ./
dev-tools/idea/lucene/contrib/ lucene/ lucene/contrib/
lucene/contrib/demo/src/java/org/apache/lucene/demo/
lucene/contrib/highlighter/src/java/org/apache/lucene/search/vectorhighligh...
Modified: lucene/dev/branches/solrcloud/lucene/src/test/org/apache/lucene/index/TestTermVectorsWriter.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solrcloud/lucene/src/test/org/apache/lucene/index/TestTermVectorsWriter.java?rev=1214623&r1=1214622&r2=1214623&view=diff
==============================================================================
--- lucene/dev/branches/solrcloud/lucene/src/test/org/apache/lucene/index/TestTermVectorsWriter.java (original)
+++ lucene/dev/branches/solrcloud/lucene/src/test/org/apache/lucene/index/TestTermVectorsWriter.java Thu Dec 15 05:11:14 2011
@@ -59,7 +59,7 @@ public class TestTermVectorsWriter exten
w.addDocument(doc);
w.close();
- IndexReader r = IndexReader.open(dir, true);
+ IndexReader r = IndexReader.open(dir);
Terms vector = r.getTermVectors(0).terms("field");
assertNotNull(vector);
TermsEnum termsEnum = vector.iterator(null);
@@ -119,7 +119,7 @@ public class TestTermVectorsWriter exten
w.addDocument(doc);
w.close();
- IndexReader r = IndexReader.open(dir, true);
+ IndexReader r = IndexReader.open(dir);
TermsEnum termsEnum = r.getTermVectors(0).terms("field").iterator(null);
assertNotNull(termsEnum.next());
DocsAndPositionsEnum dpEnum = termsEnum.docsAndPositions(null, null);
@@ -156,7 +156,7 @@ public class TestTermVectorsWriter exten
w.addDocument(doc);
w.close();
- IndexReader r = IndexReader.open(dir, true);
+ IndexReader r = IndexReader.open(dir);
TermsEnum termsEnum = r.getTermVectors(0).terms("field").iterator(null);
assertNotNull(termsEnum.next());
DocsAndPositionsEnum dpEnum = termsEnum.docsAndPositions(null, null);
@@ -197,7 +197,7 @@ public class TestTermVectorsWriter exten
w.addDocument(doc);
w.close();
- IndexReader r = IndexReader.open(dir, true);
+ IndexReader r = IndexReader.open(dir);
TermsEnum termsEnum = r.getTermVectors(0).terms("field").iterator(null);
assertNotNull(termsEnum.next());
DocsAndPositionsEnum dpEnum = termsEnum.docsAndPositions(null, null);
@@ -235,7 +235,7 @@ public class TestTermVectorsWriter exten
w.addDocument(doc);
w.close();
- IndexReader r = IndexReader.open(dir, true);
+ IndexReader r = IndexReader.open(dir);
TermsEnum termsEnum = r.getTermVectors(0).terms("field").iterator(null);
assertNotNull(termsEnum.next());
DocsAndPositionsEnum dpEnum = termsEnum.docsAndPositions(null, null);
@@ -274,7 +274,7 @@ public class TestTermVectorsWriter exten
w.addDocument(doc);
w.close();
- IndexReader r = IndexReader.open(dir, true);
+ IndexReader r = IndexReader.open(dir);
TermsEnum termsEnum = r.getTermVectors(0).terms("field").iterator(null);
assertNotNull(termsEnum.next());
DocsAndPositionsEnum dpEnum = termsEnum.docsAndPositions(null, null);
@@ -325,7 +325,7 @@ public class TestTermVectorsWriter exten
w.addDocument(doc);
w.close();
- IndexReader r = IndexReader.open(dir, true);
+ IndexReader r = IndexReader.open(dir);
TermsEnum termsEnum = r.getTermVectors(0).terms("field").iterator(null);
assertNotNull(termsEnum.next());
DocsAndPositionsEnum dpEnum = termsEnum.docsAndPositions(null, null);
@@ -372,7 +372,7 @@ public class TestTermVectorsWriter exten
w.addDocument(doc);
w.close();
- IndexReader r = IndexReader.open(dir, true);
+ IndexReader r = IndexReader.open(dir);
TermsEnum termsEnum = r.getTermVectors(0).terms("field").iterator(null);
assertNotNull(termsEnum.next());
DocsAndPositionsEnum dpEnum = termsEnum.docsAndPositions(null, null);
@@ -433,7 +433,7 @@ public class TestTermVectorsWriter exten
writer.forceMerge(1);
writer.close();
- IndexReader reader = IndexReader.open(dir, true);
+ IndexReader reader = IndexReader.open(dir);
for(int i=0;i<reader.numDocs();i++) {
reader.document(i);
reader.getTermVectors(i);
@@ -487,7 +487,7 @@ public class TestTermVectorsWriter exten
writer.forceMerge(1);
writer.close();
- IndexReader reader = IndexReader.open(dir, true);
+ IndexReader reader = IndexReader.open(dir);
assertNull(reader.getTermVectors(0));
assertNull(reader.getTermVectors(1));
assertNotNull(reader.getTermVectors(2));
@@ -532,7 +532,7 @@ public class TestTermVectorsWriter exten
writer.forceMerge(1);
writer.close();
- IndexReader reader = IndexReader.open(dir, true);
+ IndexReader reader = IndexReader.open(dir);
for(int i=0;i<10;i++) {
reader.getTermVectors(i);
reader.document(i);
Modified: lucene/dev/branches/solrcloud/lucene/src/test/org/apache/lucene/index/TestTermdocPerf.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solrcloud/lucene/src/test/org/apache/lucene/index/TestTermdocPerf.java?rev=1214623&r1=1214622&r2=1214623&view=diff
==============================================================================
--- lucene/dev/branches/solrcloud/lucene/src/test/org/apache/lucene/index/TestTermdocPerf.java (original)
+++ lucene/dev/branches/solrcloud/lucene/src/test/org/apache/lucene/index/TestTermdocPerf.java Thu Dec 15 05:11:14 2011
@@ -112,7 +112,7 @@ public class TestTermdocPerf extends Luc
long end = System.currentTimeMillis();
if (VERBOSE) System.out.println("milliseconds for creation of " + ndocs + " docs = " + (end-start));
- IndexReader reader = IndexReader.open(dir, true);
+ IndexReader reader = IndexReader.open(dir);
TermsEnum tenum = MultiFields.getTerms(reader, "foo").iterator(null);
Modified: lucene/dev/branches/solrcloud/lucene/src/test/org/apache/lucene/index/TestTermsEnum2.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solrcloud/lucene/src/test/org/apache/lucene/index/TestTermsEnum2.java?rev=1214623&r1=1214622&r2=1214623&view=diff
==============================================================================
--- lucene/dev/branches/solrcloud/lucene/src/test/org/apache/lucene/index/TestTermsEnum2.java (original)
+++ lucene/dev/branches/solrcloud/lucene/src/test/org/apache/lucene/index/TestTermsEnum2.java Thu Dec 15 05:11:14 2011
@@ -84,7 +84,6 @@ public class TestTermsEnum2 extends Luce
}
public void tearDown() throws Exception {
- searcher.close();
reader.close();
dir.close();
super.tearDown();
Modified: lucene/dev/branches/solrcloud/lucene/src/test/org/apache/lucene/index/TestThreadedForceMerge.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solrcloud/lucene/src/test/org/apache/lucene/index/TestThreadedForceMerge.java?rev=1214623&r1=1214622&r2=1214623&view=diff
==============================================================================
--- lucene/dev/branches/solrcloud/lucene/src/test/org/apache/lucene/index/TestThreadedForceMerge.java (original)
+++ lucene/dev/branches/solrcloud/lucene/src/test/org/apache/lucene/index/TestThreadedForceMerge.java Thu Dec 15 05:11:14 2011
@@ -123,7 +123,7 @@ public class TestThreadedForceMerge exte
TEST_VERSION_CURRENT, ANALYZER).setOpenMode(
OpenMode.APPEND).setMaxBufferedDocs(2));
- IndexReader reader = IndexReader.open(directory, true);
+ IndexReader reader = IndexReader.open(directory);
assertEquals("reader=" + reader, 1, reader.getSequentialSubReaders().length);
assertEquals(expectedDocCount, reader.numDocs());
reader.close();
Modified: lucene/dev/branches/solrcloud/lucene/src/test/org/apache/lucene/index/TestTransactionRollback.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solrcloud/lucene/src/test/org/apache/lucene/index/TestTransactionRollback.java?rev=1214623&r1=1214622&r2=1214623&view=diff
==============================================================================
--- lucene/dev/branches/solrcloud/lucene/src/test/org/apache/lucene/index/TestTransactionRollback.java (original)
+++ lucene/dev/branches/solrcloud/lucene/src/test/org/apache/lucene/index/TestTransactionRollback.java Thu Dec 15 05:11:14 2011
@@ -86,7 +86,7 @@ public class TestTransactionRollback ext
}
private void checkExpecteds(BitSet expecteds) throws Exception {
- IndexReader r = IndexReader.open(dir, true);
+ IndexReader r = IndexReader.open(dir);
//Perhaps not the most efficient approach but meets our
//needs here.
@@ -204,7 +204,7 @@ public class TestTransactionRollback ext
// should not work:
new IndexWriter(dir, newIndexWriterConfig( TEST_VERSION_CURRENT, new MockAnalyzer(random))
.setIndexDeletionPolicy(new DeleteLastCommitPolicy())).close();
- IndexReader r = IndexReader.open(dir, true);
+ IndexReader r = IndexReader.open(dir);
assertEquals(100, r.numDocs());
r.close();
}
Modified: lucene/dev/branches/solrcloud/lucene/src/test/org/apache/lucene/index/TestTransactions.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solrcloud/lucene/src/test/org/apache/lucene/index/TestTransactions.java?rev=1214623&r1=1214622&r2=1214623&view=diff
==============================================================================
--- lucene/dev/branches/solrcloud/lucene/src/test/org/apache/lucene/index/TestTransactions.java (original)
+++ lucene/dev/branches/solrcloud/lucene/src/test/org/apache/lucene/index/TestTransactions.java Thu Dec 15 05:11:14 2011
@@ -183,8 +183,8 @@ public class TestTransactions extends Lu
public void doWork() throws Throwable {
IndexReader r1, r2;
synchronized(lock) {
- r1 = IndexReader.open(dir1, true);
- r2 = IndexReader.open(dir2, true);
+ r1 = IndexReader.open(dir1);
+ r2 = IndexReader.open(dir2);
}
if (r1.numDocs() != r2.numDocs())
throw new RuntimeException("doc counts differ: r1=" + r1.numDocs() + " r2=" + r2.numDocs());
Modified: lucene/dev/branches/solrcloud/lucene/src/test/org/apache/lucene/index/codecs/appending/TestAppendingCodec.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solrcloud/lucene/src/test/org/apache/lucene/index/codecs/appending/TestAppendingCodec.java?rev=1214623&r1=1214622&r2=1214623&view=diff
==============================================================================
--- lucene/dev/branches/solrcloud/lucene/src/test/org/apache/lucene/index/codecs/appending/TestAppendingCodec.java (original)
+++ lucene/dev/branches/solrcloud/lucene/src/test/org/apache/lucene/index/codecs/appending/TestAppendingCodec.java Thu Dec 15 05:11:14 2011
@@ -123,7 +123,7 @@ public class TestAppendingCodec extends
writer.addDocument(doc);
writer.forceMerge(1);
writer.close();
- IndexReader reader = IndexReader.open(dir, null, true, 1);
+ IndexReader reader = IndexReader.open(dir, 1);
assertEquals(2, reader.numDocs());
Document doc2 = reader.document(0);
assertEquals(text, doc2.get("f"));
Modified: lucene/dev/branches/solrcloud/lucene/src/test/org/apache/lucene/index/codecs/lucene3x/TestTermInfosReaderIndex.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solrcloud/lucene/src/test/org/apache/lucene/index/codecs/lucene3x/TestTermInfosReaderIndex.java?rev=1214623&r1=1214622&r2=1214623&view=diff
==============================================================================
--- lucene/dev/branches/solrcloud/lucene/src/test/org/apache/lucene/index/codecs/lucene3x/TestTermInfosReaderIndex.java (original)
+++ lucene/dev/branches/solrcloud/lucene/src/test/org/apache/lucene/index/codecs/lucene3x/TestTermInfosReaderIndex.java Thu Dec 15 05:11:14 2011
@@ -136,7 +136,6 @@ public class TestTermInfosReaderIndex ex
TopDocs topDocs = searcher.search(query, 10);
assertTrue(topDocs.totalHits > 0);
}
- searcher.close();
}
private List<Term> sample(IndexReader reader, int size) throws IOException {
Modified: lucene/dev/branches/solrcloud/lucene/src/test/org/apache/lucene/index/codecs/perfield/TestPerFieldPostingsFormat.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solrcloud/lucene/src/test/org/apache/lucene/index/codecs/perfield/TestPerFieldPostingsFormat.java?rev=1214623&r1=1214622&r2=1214623&view=diff
==============================================================================
--- lucene/dev/branches/solrcloud/lucene/src/test/org/apache/lucene/index/codecs/perfield/TestPerFieldPostingsFormat.java (original)
+++ lucene/dev/branches/solrcloud/lucene/src/test/org/apache/lucene/index/codecs/perfield/TestPerFieldPostingsFormat.java Thu Dec 15 05:11:14 2011
@@ -190,11 +190,10 @@ public class TestPerFieldPostingsFormat
if (VERBOSE) {
System.out.println("\nTEST: assertQuery " + t);
}
- IndexReader reader = IndexReader.open(dir, null, true, 1);
+ IndexReader reader = IndexReader.open(dir, 1);
IndexSearcher searcher = newSearcher(reader);
TopDocs search = searcher.search(new TermQuery(t), num + 10);
assertEquals(num, search.totalHits);
- searcher.close();
reader.close();
}
Modified: lucene/dev/branches/solrcloud/lucene/src/test/org/apache/lucene/index/values/TestDocValues.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solrcloud/lucene/src/test/org/apache/lucene/index/values/TestDocValues.java?rev=1214623&r1=1214622&r2=1214623&view=diff
==============================================================================
--- lucene/dev/branches/solrcloud/lucene/src/test/org/apache/lucene/index/values/TestDocValues.java (original)
+++ lucene/dev/branches/solrcloud/lucene/src/test/org/apache/lucene/index/values/TestDocValues.java Thu Dec 15 05:11:14 2011
@@ -20,8 +20,14 @@ package org.apache.lucene.index.values;
import java.io.IOException;
import java.util.Comparator;
-import org.apache.lucene.index.values.IndexDocValues.SortedSource;
-import org.apache.lucene.index.values.IndexDocValues.Source;
+import org.apache.lucene.index.DocValues;
+import org.apache.lucene.index.DocValues.SortedSource;
+import org.apache.lucene.index.DocValues.Source;
+import org.apache.lucene.index.DocValues.Type;
+import org.apache.lucene.index.codecs.lucene40.values.Bytes;
+import org.apache.lucene.index.codecs.lucene40.values.Floats;
+import org.apache.lucene.index.codecs.lucene40.values.Ints;
+import org.apache.lucene.index.codecs.lucene40.values.Writer;
import org.apache.lucene.store.Directory;
import org.apache.lucene.util.BytesRef;
import org.apache.lucene.util.Counter;
@@ -29,6 +35,7 @@ import org.apache.lucene.util.LuceneTest
import org.apache.lucene.util.UnicodeUtil;
import org.apache.lucene.util._TestUtil;
+// TODO: some of this should be under lucene40 codec tests? is talking to codec directly?f
public class TestDocValues extends LuceneTestCase {
private static final Comparator<BytesRef> COMP = BytesRef.getUTF8SortedAsUnicodeComparator();
// TODO -- for sorted test, do our own Sort of the
@@ -76,12 +83,12 @@ public class TestDocValues extends Lucen
w.finish(maxDoc);
assertEquals(0, trackBytes.get());
- IndexDocValues r = Bytes.getValues(dir, "test", mode, fixedSize, maxDoc, COMP, newIOContext(random));
+ DocValues r = Bytes.getValues(dir, "test", mode, fixedSize, maxDoc, COMP, newIOContext(random));
// Verify we can load source twice:
for (int iter = 0; iter < 2; iter++) {
Source s;
- IndexDocValues.SortedSource ss;
+ DocValues.SortedSource ss;
if (mode == Bytes.Mode.SORTED) {
// default is unicode so we can simply pass null here
s = ss = getSortedSource(r);
@@ -155,19 +162,19 @@ public class TestDocValues extends Lucen
{ Long.MIN_VALUE + 1, 1 }, { -1, Long.MAX_VALUE },
{ Long.MIN_VALUE, -1 }, { 1, Long.MAX_VALUE },
{ -1, Long.MAX_VALUE - 1 }, { Long.MIN_VALUE + 2, 1 }, };
- ValueType[] expectedTypes = new ValueType[] { ValueType.FIXED_INTS_64,
- ValueType.FIXED_INTS_64, ValueType.FIXED_INTS_64,
- ValueType.FIXED_INTS_64, ValueType.VAR_INTS, ValueType.VAR_INTS,
- ValueType.VAR_INTS, };
+ Type[] expectedTypes = new Type[] { Type.FIXED_INTS_64,
+ Type.FIXED_INTS_64, Type.FIXED_INTS_64,
+ Type.FIXED_INTS_64, Type.VAR_INTS, Type.VAR_INTS,
+ Type.VAR_INTS, };
for (int i = 0; i < minMax.length; i++) {
Directory dir = newDirectory();
final Counter trackBytes = Counter.newCounter();
- Writer w = Ints.getWriter(dir, "test", trackBytes, ValueType.VAR_INTS, newIOContext(random));
+ Writer w = Ints.getWriter(dir, "test", trackBytes, Type.VAR_INTS, newIOContext(random));
w.add(0, minMax[i][0]);
w.add(1, minMax[i][1]);
w.finish(2);
assertEquals(0, trackBytes.get());
- IndexDocValues r = Ints.getValues(dir, "test", 2, ValueType.VAR_INTS, newIOContext(random));
+ DocValues r = Ints.getValues(dir, "test", 2, Type.VAR_INTS, newIOContext(random));
Source source = getSource(r);
assertEquals(i + " with min: " + minMax[i][0] + " max: " + minMax[i][1],
expectedTypes[i], source.type());
@@ -180,14 +187,14 @@ public class TestDocValues extends Lucen
}
public void testVInts() throws IOException {
- testInts(ValueType.VAR_INTS, 63);
+ testInts(Type.VAR_INTS, 63);
}
public void testFixedInts() throws IOException {
- testInts(ValueType.FIXED_INTS_64, 63);
- testInts(ValueType.FIXED_INTS_32, 31);
- testInts(ValueType.FIXED_INTS_16, 15);
- testInts(ValueType.FIXED_INTS_8, 7);
+ testInts(Type.FIXED_INTS_64, 63);
+ testInts(Type.FIXED_INTS_32, 31);
+ testInts(Type.FIXED_INTS_16, 15);
+ testInts(Type.FIXED_INTS_8, 7);
}
@@ -195,12 +202,12 @@ public class TestDocValues extends Lucen
byte[] sourceArray = new byte[] {1,2,3};
Directory dir = newDirectory();
final Counter trackBytes = Counter.newCounter();
- Writer w = Ints.getWriter(dir, "test", trackBytes, ValueType.FIXED_INTS_8, newIOContext(random));
+ Writer w = Ints.getWriter(dir, "test", trackBytes, Type.FIXED_INTS_8, newIOContext(random));
for (int i = 0; i < sourceArray.length; i++) {
w.add(i, (long) sourceArray[i]);
}
w.finish(sourceArray.length);
- IndexDocValues r = Ints.getValues(dir, "test", sourceArray.length, ValueType.FIXED_INTS_8, newIOContext(random));
+ DocValues r = Ints.getValues(dir, "test", sourceArray.length, Type.FIXED_INTS_8, newIOContext(random));
Source source = r.getSource();
assertTrue(source.hasArray());
byte[] loaded = ((byte[])source.getArray());
@@ -216,12 +223,12 @@ public class TestDocValues extends Lucen
short[] sourceArray = new short[] {1,2,3};
Directory dir = newDirectory();
final Counter trackBytes = Counter.newCounter();
- Writer w = Ints.getWriter(dir, "test", trackBytes, ValueType.FIXED_INTS_16, newIOContext(random));
+ Writer w = Ints.getWriter(dir, "test", trackBytes, Type.FIXED_INTS_16, newIOContext(random));
for (int i = 0; i < sourceArray.length; i++) {
w.add(i, (long) sourceArray[i]);
}
w.finish(sourceArray.length);
- IndexDocValues r = Ints.getValues(dir, "test", sourceArray.length, ValueType.FIXED_INTS_16, newIOContext(random));
+ DocValues r = Ints.getValues(dir, "test", sourceArray.length, Type.FIXED_INTS_16, newIOContext(random));
Source source = r.getSource();
assertTrue(source.hasArray());
short[] loaded = ((short[])source.getArray());
@@ -237,12 +244,12 @@ public class TestDocValues extends Lucen
long[] sourceArray = new long[] {1,2,3};
Directory dir = newDirectory();
final Counter trackBytes = Counter.newCounter();
- Writer w = Ints.getWriter(dir, "test", trackBytes, ValueType.FIXED_INTS_64, newIOContext(random));
+ Writer w = Ints.getWriter(dir, "test", trackBytes, Type.FIXED_INTS_64, newIOContext(random));
for (int i = 0; i < sourceArray.length; i++) {
w.add(i, sourceArray[i]);
}
w.finish(sourceArray.length);
- IndexDocValues r = Ints.getValues(dir, "test", sourceArray.length, ValueType.FIXED_INTS_64, newIOContext(random));
+ DocValues r = Ints.getValues(dir, "test", sourceArray.length, Type.FIXED_INTS_64, newIOContext(random));
Source source = r.getSource();
assertTrue(source.hasArray());
long[] loaded = ((long[])source.getArray());
@@ -258,12 +265,12 @@ public class TestDocValues extends Lucen
int[] sourceArray = new int[] {1,2,3};
Directory dir = newDirectory();
final Counter trackBytes = Counter.newCounter();
- Writer w = Ints.getWriter(dir, "test", trackBytes, ValueType.FIXED_INTS_32, newIOContext(random));
+ Writer w = Ints.getWriter(dir, "test", trackBytes, Type.FIXED_INTS_32, newIOContext(random));
for (int i = 0; i < sourceArray.length; i++) {
w.add(i, (long) sourceArray[i]);
}
w.finish(sourceArray.length);
- IndexDocValues r = Ints.getValues(dir, "test", sourceArray.length, ValueType.FIXED_INTS_32, newIOContext(random));
+ DocValues r = Ints.getValues(dir, "test", sourceArray.length, Type.FIXED_INTS_32, newIOContext(random));
Source source = r.getSource();
assertTrue(source.hasArray());
int[] loaded = ((int[])source.getArray());
@@ -279,12 +286,12 @@ public class TestDocValues extends Lucen
float[] sourceArray = new float[] {1,2,3};
Directory dir = newDirectory();
final Counter trackBytes = Counter.newCounter();
- Writer w = Floats.getWriter(dir, "test", trackBytes, newIOContext(random), ValueType.FLOAT_32);
+ Writer w = Floats.getWriter(dir, "test", trackBytes, newIOContext(random), Type.FLOAT_32);
for (int i = 0; i < sourceArray.length; i++) {
w.add(i, sourceArray[i]);
}
w.finish(sourceArray.length);
- IndexDocValues r = Floats.getValues(dir, "test", 3, newIOContext(random), ValueType.FLOAT_32);
+ DocValues r = Floats.getValues(dir, "test", 3, newIOContext(random), Type.FLOAT_32);
Source source = r.getSource();
assertTrue(source.hasArray());
float[] loaded = ((float[])source.getArray());
@@ -300,12 +307,12 @@ public class TestDocValues extends Lucen
double[] sourceArray = new double[] {1,2,3};
Directory dir = newDirectory();
final Counter trackBytes = Counter.newCounter();
- Writer w = Floats.getWriter(dir, "test", trackBytes, newIOContext(random), ValueType.FLOAT_64);
+ Writer w = Floats.getWriter(dir, "test", trackBytes, newIOContext(random), Type.FLOAT_64);
for (int i = 0; i < sourceArray.length; i++) {
w.add(i, sourceArray[i]);
}
w.finish(sourceArray.length);
- IndexDocValues r = Floats.getValues(dir, "test", 3, newIOContext(random), ValueType.FLOAT_64);
+ DocValues r = Floats.getValues(dir, "test", 3, newIOContext(random), Type.FLOAT_64);
Source source = r.getSource();
assertTrue(source.hasArray());
double[] loaded = ((double[])source.getArray());
@@ -317,7 +324,7 @@ public class TestDocValues extends Lucen
dir.close();
}
- private void testInts(ValueType type, int maxBit) throws IOException {
+ private void testInts(Type type, int maxBit) throws IOException {
long maxV = 1;
final int NUM_VALUES = 333 + random.nextInt(333);
final long[] values = new long[NUM_VALUES];
@@ -334,7 +341,7 @@ public class TestDocValues extends Lucen
w.finish(NUM_VALUES + additionalDocs);
assertEquals(0, trackBytes.get());
- IndexDocValues r = Ints.getValues(dir, "test", NUM_VALUES + additionalDocs, type, newIOContext(random));
+ DocValues r = Ints.getValues(dir, "test", NUM_VALUES + additionalDocs, type, newIOContext(random));
for (int iter = 0; iter < 2; iter++) {
Source s = getSource(r);
assertEquals(type, s.type());
@@ -350,17 +357,17 @@ public class TestDocValues extends Lucen
}
public void testFloats4() throws IOException {
- runTestFloats(ValueType.FLOAT_32, 0.00001);
+ runTestFloats(Type.FLOAT_32, 0.00001);
}
- private void runTestFloats(ValueType type, double delta) throws IOException {
+ private void runTestFloats(Type type, double delta) throws IOException {
Directory dir = newDirectory();
final Counter trackBytes = Counter.newCounter();
Writer w = Floats.getWriter(dir, "test", trackBytes, newIOContext(random), type);
final int NUM_VALUES = 777 + random.nextInt(777);;
final double[] values = new double[NUM_VALUES];
for (int i = 0; i < NUM_VALUES; i++) {
- final double v = type == ValueType.FLOAT_32 ? random.nextFloat() : random
+ final double v = type == Type.FLOAT_32 ? random.nextFloat() : random
.nextDouble();
values[i] = v;
w.add(i, v);
@@ -369,7 +376,7 @@ public class TestDocValues extends Lucen
w.finish(NUM_VALUES + additionalValues);
assertEquals(0, trackBytes.get());
- IndexDocValues r = Floats.getValues(dir, "test", NUM_VALUES + additionalValues, newIOContext(random), type);
+ DocValues r = Floats.getValues(dir, "test", NUM_VALUES + additionalValues, newIOContext(random), type);
for (int iter = 0; iter < 2; iter++) {
Source s = getSource(r);
for (int i = 0; i < NUM_VALUES; i++) {
@@ -381,11 +388,11 @@ public class TestDocValues extends Lucen
}
public void testFloats8() throws IOException {
- runTestFloats(ValueType.FLOAT_64, 0.0);
+ runTestFloats(Type.FLOAT_64, 0.0);
}
- private Source getSource(IndexDocValues values) throws IOException {
+ private Source getSource(DocValues values) throws IOException {
// getSource uses cache internally
switch(random.nextInt(5)) {
case 3:
@@ -399,7 +406,7 @@ public class TestDocValues extends Lucen
}
}
- private SortedSource getSortedSource(IndexDocValues values) throws IOException {
+ private SortedSource getSortedSource(DocValues values) throws IOException {
return getSource(values).asSortedSource();
}
Modified: lucene/dev/branches/solrcloud/lucene/src/test/org/apache/lucene/index/values/TestDocValuesIndexing.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solrcloud/lucene/src/test/org/apache/lucene/index/values/TestDocValuesIndexing.java?rev=1214623&r1=1214622&r2=1214623&view=diff
==============================================================================
--- lucene/dev/branches/solrcloud/lucene/src/test/org/apache/lucene/index/values/TestDocValuesIndexing.java (original)
+++ lucene/dev/branches/solrcloud/lucene/src/test/org/apache/lucene/index/values/TestDocValuesIndexing.java Thu Dec 15 05:11:14 2011
@@ -27,21 +27,23 @@ 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.document.IndexDocValuesField;
+import org.apache.lucene.document.DocValuesField;
import org.apache.lucene.document.StringField;
import org.apache.lucene.document.TextField;
import org.apache.lucene.index.CorruptIndexException;
+import org.apache.lucene.index.DocValues;
import org.apache.lucene.index.IndexReader;
import org.apache.lucene.index.IndexWriter;
import org.apache.lucene.index.IndexWriterConfig;
import org.apache.lucene.index.LogDocMergePolicy;
import org.apache.lucene.index.LogMergePolicy;
-import org.apache.lucene.index.MultiPerDocValues;
+import org.apache.lucene.index.MultiDocValues;
import org.apache.lucene.index.RandomIndexWriter;
import org.apache.lucene.index.Term;
+import org.apache.lucene.index.DocValues.Source;
+import org.apache.lucene.index.DocValues.Type;
import org.apache.lucene.index.codecs.Codec;
-import org.apache.lucene.index.codecs.PerDocValues;
-import org.apache.lucene.index.values.IndexDocValues.Source;
+import org.apache.lucene.index.codecs.PerDocProducer;
import org.apache.lucene.search.*;
import org.apache.lucene.store.Directory;
import org.apache.lucene.store.LockObtainFailedException;
@@ -76,7 +78,7 @@ public class TestDocValuesIndexing exten
IndexWriter writer = new IndexWriter(dir, writerConfig(false));
for (int i = 0; i < 5; i++) {
Document doc = new Document();
- IndexDocValuesField valuesField = new IndexDocValuesField("docId");
+ DocValuesField valuesField = new DocValuesField("docId");
valuesField.setInt(i);
doc.add(valuesField);
doc.add(new TextField("docId", "" + i));
@@ -87,7 +89,7 @@ public class TestDocValuesIndexing exten
writer.close(true);
- IndexReader reader = IndexReader.open(dir, null, true, 1);
+ IndexReader reader = IndexReader.open(dir, 1);
assertEquals(1, reader.getSequentialSubReaders().length);
IndexSearcher searcher = new IndexSearcher(reader);
@@ -102,7 +104,7 @@ public class TestDocValuesIndexing exten
TopDocs search = searcher.search(query, 10);
assertEquals(5, search.totalHits);
ScoreDoc[] scoreDocs = search.scoreDocs;
- IndexDocValues docValues = MultiPerDocValues.getPerDocs(reader).docValues("docId");
+ DocValues docValues = MultiDocValues.getDocValues(reader, "docId");
Source source = docValues.getSource();
for (int i = 0; i < scoreDocs.length; i++) {
assertEquals(i, scoreDocs[i].doc);
@@ -130,10 +132,10 @@ public class TestDocValuesIndexing exten
public void testAddIndexes() throws IOException {
int valuesPerIndex = 10;
- List<ValueType> values = Arrays.asList(ValueType.values());
+ List<Type> values = Arrays.asList(Type.values());
Collections.shuffle(values, random);
- ValueType first = values.get(0);
- ValueType second = values.get(1);
+ Type first = values.get(0);
+ Type second = values.get(1);
// index first index
Directory d_1 = newDirectory();
IndexWriter w_1 = new IndexWriter(d_1, writerConfig(random.nextBoolean()));
@@ -256,11 +258,11 @@ public class TestDocValuesIndexing exten
Directory d = newDirectory();
IndexWriter w = new IndexWriter(d, cfg);
final int numValues = 50 + atLeast(10);
- final List<ValueType> numVariantList = new ArrayList<ValueType>(NUMERICS);
+ final List<Type> numVariantList = new ArrayList<Type>(NUMERICS);
// run in random order to test if fill works correctly during merges
Collections.shuffle(numVariantList, random);
- for (ValueType val : numVariantList) {
+ for (Type val : numVariantList) {
FixedBitSet deleted = indexValues(w, numValues, val, numVariantList,
withDeletions, 7);
List<Closeable> closeables = new ArrayList<Closeable>();
@@ -277,7 +279,7 @@ public class TestDocValuesIndexing exten
case FIXED_INTS_32:
case FIXED_INTS_64:
case VAR_INTS: {
- IndexDocValues intsReader = getDocValues(r, val.name());
+ DocValues intsReader = getDocValues(r, val.name());
assertNotNull(intsReader);
Source ints = getSource(intsReader);
@@ -298,7 +300,7 @@ public class TestDocValuesIndexing exten
break;
case FLOAT_32:
case FLOAT_64: {
- IndexDocValues floatReader = getDocValues(r, val.name());
+ DocValues floatReader = getDocValues(r, val.name());
assertNotNull(floatReader);
Source floats = getSource(floatReader);
for (int i = 0; i < base; i++) {
@@ -333,11 +335,11 @@ public class TestDocValuesIndexing exten
throws CorruptIndexException, LockObtainFailedException, IOException {
final Directory d = newDirectory();
IndexWriter w = new IndexWriter(d, cfg);
- final List<ValueType> byteVariantList = new ArrayList<ValueType>(BYTES);
+ final List<Type> byteVariantList = new ArrayList<Type>(BYTES);
// run in random order to test if fill works correctly during merges
Collections.shuffle(byteVariantList, random);
final int numValues = 50 + atLeast(10);
- for (ValueType byteIndexValue : byteVariantList) {
+ for (Type byteIndexValue : byteVariantList) {
List<Closeable> closeables = new ArrayList<Closeable>();
final int bytesSize = 1 + atLeast(50);
FixedBitSet deleted = indexValues(w, numValues, byteIndexValue,
@@ -346,7 +348,7 @@ public class TestDocValuesIndexing exten
assertEquals(0, r.numDeletedDocs());
final int numRemainingValues = numValues - deleted.cardinality();
final int base = r.numDocs() - numRemainingValues;
- IndexDocValues bytesReader = getDocValues(r, byteIndexValue.name());
+ DocValues bytesReader = getDocValues(r, byteIndexValue.name());
assertNotNull("field " + byteIndexValue.name()
+ " returned null reader - maybe merged failed", bytesReader);
Source bytes = getSource(bytesReader);
@@ -416,27 +418,11 @@ public class TestDocValuesIndexing exten
d.close();
}
- private IndexDocValues getDocValues(IndexReader reader, String field)
- throws IOException {
- boolean singleSeg = reader.getSequentialSubReaders().length == 1;
- PerDocValues perDoc = singleSeg ? reader.getSequentialSubReaders()[0].perDocValues()
- : MultiPerDocValues.getPerDocs(reader);
- switch (random.nextInt(singleSeg ? 3 : 2)) { // case 2 only if single seg
- case 0:
- return perDoc.docValues(field);
- case 1:
- IndexDocValues docValues = perDoc.docValues(field);
- if (docValues != null) {
- return docValues;
- }
- throw new RuntimeException("no such field " + field);
- case 2:// this only works if we are on a single seg index!
- return reader.getSequentialSubReaders()[0].docValues(field);
- }
- throw new RuntimeException();
+ private DocValues getDocValues(IndexReader reader, String field) throws IOException {
+ return MultiDocValues.getDocValues(reader, field);
}
- private Source getSource(IndexDocValues values) throws IOException {
+ private Source getSource(DocValues values) throws IOException {
// getSource uses cache internally
switch(random.nextInt(5)) {
case 3:
@@ -451,24 +437,24 @@ public class TestDocValuesIndexing exten
}
- private static EnumSet<ValueType> BYTES = EnumSet.of(ValueType.BYTES_FIXED_DEREF,
- ValueType.BYTES_FIXED_STRAIGHT, ValueType.BYTES_VAR_DEREF,
- ValueType.BYTES_VAR_STRAIGHT, ValueType.BYTES_FIXED_SORTED, ValueType.BYTES_VAR_SORTED);
-
- private static EnumSet<ValueType> NUMERICS = EnumSet.of(ValueType.VAR_INTS,
- ValueType.FIXED_INTS_16, ValueType.FIXED_INTS_32,
- ValueType.FIXED_INTS_64,
- ValueType.FIXED_INTS_8,
- ValueType.FLOAT_32,
- ValueType.FLOAT_64);
+ private static EnumSet<Type> BYTES = EnumSet.of(Type.BYTES_FIXED_DEREF,
+ Type.BYTES_FIXED_STRAIGHT, Type.BYTES_VAR_DEREF,
+ Type.BYTES_VAR_STRAIGHT, Type.BYTES_FIXED_SORTED, Type.BYTES_VAR_SORTED);
+
+ private static EnumSet<Type> NUMERICS = EnumSet.of(Type.VAR_INTS,
+ Type.FIXED_INTS_16, Type.FIXED_INTS_32,
+ Type.FIXED_INTS_64,
+ Type.FIXED_INTS_8,
+ Type.FLOAT_32,
+ Type.FLOAT_64);
- private FixedBitSet indexValues(IndexWriter w, int numValues, ValueType value,
- List<ValueType> valueVarList, boolean withDeletions, int bytesSize)
+ private FixedBitSet indexValues(IndexWriter w, int numValues, Type value,
+ List<Type> valueVarList, boolean withDeletions, int bytesSize)
throws CorruptIndexException, IOException {
final boolean isNumeric = NUMERICS.contains(value);
FixedBitSet deleted = new FixedBitSet(numValues);
Document doc = new Document();
- IndexDocValuesField valField = new IndexDocValuesField(value.name());
+ DocValuesField valField = new DocValuesField(value.name());
doc.add(valField);
final BytesRef bytesRef = new BytesRef();
@@ -522,7 +508,7 @@ public class TestDocValuesIndexing exten
if (i % 7 == 0) {
if (withDeletions && random.nextBoolean()) {
- ValueType val = valueVarList.get(random.nextInt(1 + valueVarList
+ Type val = valueVarList.get(random.nextInt(1 + valueVarList
.indexOf(value)));
final int randInt = val == value ? random.nextInt(1 + i) : random
.nextInt(numValues);
@@ -545,11 +531,11 @@ public class TestDocValuesIndexing exten
return deleted;
}
- public void testMultiValuedIndexDocValuesField() throws Exception {
+ public void testMultiValuedDocValuesField() throws Exception {
Directory d = newDirectory();
RandomIndexWriter w = new RandomIndexWriter(random, d);
Document doc = new Document();
- IndexDocValuesField f = new IndexDocValuesField("field");
+ DocValuesField f = new DocValuesField("field");
f.setInt(17);
// Index doc values are single-valued so we should not
// be able to add same field more than once:
@@ -568,7 +554,7 @@ public class TestDocValuesIndexing exten
w.forceMerge(1);
IndexReader r = w.getReader();
w.close();
- assertEquals(17, r.getSequentialSubReaders()[0].perDocValues().docValues("field").load().getInt(0));
+ assertEquals(17, r.getSequentialSubReaders()[0].docValues("field").load().getInt(0));
r.close();
d.close();
}
@@ -577,12 +563,12 @@ public class TestDocValuesIndexing exten
Directory d = newDirectory();
RandomIndexWriter w = new RandomIndexWriter(random, d);
Document doc = new Document();
- IndexDocValuesField f = new IndexDocValuesField("field");
+ DocValuesField f = new DocValuesField("field");
f.setInt(17);
// Index doc values are single-valued so we should not
// be able to add same field more than once:
doc.add(f);
- IndexDocValuesField f2 = new IndexDocValuesField("field");
+ DocValuesField f2 = new DocValuesField("field");
f2.setFloat(22.0);
doc.add(f2);
try {
@@ -598,7 +584,7 @@ public class TestDocValuesIndexing exten
w.forceMerge(1);
IndexReader r = w.getReader();
w.close();
- assertEquals(17, r.getSequentialSubReaders()[0].perDocValues().docValues("field").load().getInt(0));
+ assertEquals(17, r.getSequentialSubReaders()[0].docValues("field").load().getInt(0));
r.close();
d.close();
}
Modified: lucene/dev/branches/solrcloud/lucene/src/test/org/apache/lucene/index/values/TestTypePromotion.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solrcloud/lucene/src/test/org/apache/lucene/index/values/TestTypePromotion.java?rev=1214623&r1=1214622&r2=1214623&view=diff
==============================================================================
--- lucene/dev/branches/solrcloud/lucene/src/test/org/apache/lucene/index/values/TestTypePromotion.java (original)
+++ lucene/dev/branches/solrcloud/lucene/src/test/org/apache/lucene/index/values/TestTypePromotion.java Thu Dec 15 05:11:14 2011
@@ -7,17 +7,20 @@ import java.util.Random;
import org.apache.lucene.analysis.MockAnalyzer;
import org.apache.lucene.document.Document;
import org.apache.lucene.document.Field;
-import org.apache.lucene.document.IndexDocValuesField;
+import org.apache.lucene.document.DocValuesField;
import org.apache.lucene.document.TextField;
import org.apache.lucene.index.CorruptIndexException;
import org.apache.lucene.index.IndexReader;
import org.apache.lucene.index.IndexReader.ReaderContext;
+import org.apache.lucene.index.DocValues;
+import org.apache.lucene.index.DocValues.Source;
+import org.apache.lucene.index.DocValues.Type;
import org.apache.lucene.index.IndexWriter;
import org.apache.lucene.index.IndexWriterConfig;
import org.apache.lucene.index.NoMergePolicy;
import org.apache.lucene.index.SlowMultiReaderWrapper;
import org.apache.lucene.index.codecs.Codec;
-import org.apache.lucene.index.values.IndexDocValues.Source;
+import org.apache.lucene.index.codecs.lucene40.values.BytesRefUtils;
import org.apache.lucene.store.Directory;
import org.apache.lucene.util.BytesRef;
import org.apache.lucene.util.LuceneTestCase;
@@ -46,22 +49,22 @@ public class TestTypePromotion extends L
assumeFalse("cannot work with preflex codec", Codec.getDefault().getName().equals("Lucene3x"));
}
- private static EnumSet<ValueType> INTEGERS = EnumSet.of(ValueType.VAR_INTS,
- ValueType.FIXED_INTS_16, ValueType.FIXED_INTS_32,
- ValueType.FIXED_INTS_64, ValueType.FIXED_INTS_8);
-
- private static EnumSet<ValueType> FLOATS = EnumSet.of(ValueType.FLOAT_32,
- ValueType.FLOAT_64);
-
- private static EnumSet<ValueType> UNSORTED_BYTES = EnumSet.of(
- ValueType.BYTES_FIXED_DEREF, ValueType.BYTES_FIXED_STRAIGHT,
- ValueType.BYTES_VAR_STRAIGHT, ValueType.BYTES_VAR_DEREF);
+ private static EnumSet<Type> INTEGERS = EnumSet.of(Type.VAR_INTS,
+ Type.FIXED_INTS_16, Type.FIXED_INTS_32,
+ Type.FIXED_INTS_64, Type.FIXED_INTS_8);
+
+ private static EnumSet<Type> FLOATS = EnumSet.of(Type.FLOAT_32,
+ Type.FLOAT_64);
+
+ private static EnumSet<Type> UNSORTED_BYTES = EnumSet.of(
+ Type.BYTES_FIXED_DEREF, Type.BYTES_FIXED_STRAIGHT,
+ Type.BYTES_VAR_STRAIGHT, Type.BYTES_VAR_DEREF);
- private static EnumSet<ValueType> SORTED_BYTES = EnumSet.of(
- ValueType.BYTES_FIXED_SORTED, ValueType.BYTES_VAR_SORTED);
+ private static EnumSet<Type> SORTED_BYTES = EnumSet.of(
+ Type.BYTES_FIXED_SORTED, Type.BYTES_VAR_SORTED);
- public ValueType randomValueType(EnumSet<ValueType> typeEnum, Random random) {
- ValueType[] array = typeEnum.toArray(new ValueType[0]);
+ public Type randomValueType(EnumSet<Type> typeEnum, Random random) {
+ Type[] array = typeEnum.toArray(new Type[0]);
return array[random.nextInt(array.length)];
}
@@ -69,7 +72,7 @@ public class TestTypePromotion extends L
Int, Float, Byte
}
- private void runTest(EnumSet<ValueType> types, TestType type)
+ private void runTest(EnumSet<Type> types, TestType type)
throws CorruptIndexException, IOException {
Directory dir = newDirectory();
IndexWriter writer = new IndexWriter(dir,
@@ -78,11 +81,11 @@ public class TestTypePromotion extends L
int num_2 = atLeast(200);
int num_3 = atLeast(200);
long[] values = new long[num_1 + num_2 + num_3];
- index(writer, new IndexDocValuesField("promote"),
+ index(writer, new DocValuesField("promote"),
randomValueType(types, random), values, 0, num_1);
writer.commit();
- index(writer, new IndexDocValuesField("promote"),
+ index(writer, new DocValuesField("promote"),
randomValueType(types, random), values, num_1, num_2);
writer.commit();
@@ -93,7 +96,7 @@ public class TestTypePromotion extends L
Directory dir_2 = newDirectory() ;
IndexWriter writer_2 = new IndexWriter(dir_2,
newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer(random)));
- index(writer_2, new IndexDocValuesField("promote"),
+ index(writer_2, new DocValuesField("promote"),
randomValueType(types, random), values, num_1 + num_2, num_3);
writer_2.commit();
writer_2.close();
@@ -109,7 +112,7 @@ public class TestTypePromotion extends L
}
dir_2.close();
} else {
- index(writer, new IndexDocValuesField("promote"),
+ index(writer, new DocValuesField("promote"),
randomValueType(types, random), values, num_1 + num_2, num_3);
}
@@ -126,7 +129,7 @@ public class TestTypePromotion extends L
assertEquals(1, reader.getSequentialSubReaders().length);
ReaderContext topReaderContext = reader.getTopReaderContext();
ReaderContext[] children = topReaderContext.children();
- IndexDocValues docValues = children[0].reader.docValues("promote");
+ DocValues docValues = children[0].reader.docValues("promote");
assertEquals(1, children.length);
Source directSource = docValues.getDirectSource();
for (int i = 0; i < values.length; i++) {
@@ -171,8 +174,8 @@ public class TestTypePromotion extends L
reader.close();
}
- public void index(IndexWriter writer, IndexDocValuesField valField,
- ValueType valueType, long[] values, int offset, int num)
+ public void index(IndexWriter writer, DocValuesField valField,
+ Type valueType, long[] values, int offset, int num)
throws CorruptIndexException, IOException {
BytesRef ref = new BytesRef(new byte[] { 1, 2, 3, 4 });
for (int i = offset; i < offset + num; i++) {
@@ -266,7 +269,7 @@ public class TestTypePromotion extends L
int num_1 = atLeast(200);
int num_2 = atLeast(200);
long[] values = new long[num_1 + num_2];
- index(writer, new IndexDocValuesField("promote"),
+ index(writer, new DocValuesField("promote"),
randomValueType(INTEGERS, random), values, 0, num_1);
writer.commit();
@@ -275,7 +278,7 @@ public class TestTypePromotion extends L
Directory dir_2 = newDirectory() ;
IndexWriter writer_2 = new IndexWriter(dir_2,
newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer(random)));
- index(writer_2, new IndexDocValuesField("promote"),
+ index(writer_2, new DocValuesField("promote"),
randomValueType(random.nextBoolean() ? UNSORTED_BYTES : SORTED_BYTES, random), values, num_1, num_2);
writer_2.commit();
writer_2.close();
@@ -289,7 +292,7 @@ public class TestTypePromotion extends L
}
dir_2.close();
} else {
- index(writer, new IndexDocValuesField("promote"),
+ index(writer, new DocValuesField("promote"),
randomValueType(random.nextBoolean() ? UNSORTED_BYTES : SORTED_BYTES, random), values, num_1, num_2);
writer.commit();
}
@@ -306,10 +309,10 @@ public class TestTypePromotion extends L
assertEquals(1, reader.getSequentialSubReaders().length);
ReaderContext topReaderContext = reader.getTopReaderContext();
ReaderContext[] children = topReaderContext.children();
- IndexDocValues docValues = children[0].reader.docValues("promote");
+ DocValues docValues = children[0].reader.docValues("promote");
assertNotNull(docValues);
assertValues(TestType.Byte, dir, values);
- assertEquals(ValueType.BYTES_VAR_STRAIGHT, docValues.type());
+ assertEquals(Type.BYTES_VAR_STRAIGHT, docValues.type());
reader.close();
dir.close();
}
Modified: lucene/dev/branches/solrcloud/lucene/src/test/org/apache/lucene/search/TestAutomatonQuery.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solrcloud/lucene/src/test/org/apache/lucene/search/TestAutomatonQuery.java?rev=1214623&r1=1214622&r2=1214623&view=diff
==============================================================================
--- lucene/dev/branches/solrcloud/lucene/src/test/org/apache/lucene/search/TestAutomatonQuery.java (original)
+++ lucene/dev/branches/solrcloud/lucene/src/test/org/apache/lucene/search/TestAutomatonQuery.java Thu Dec 15 05:11:14 2011
@@ -67,7 +67,6 @@ public class TestAutomatonQuery extends
@Override
public void tearDown() throws Exception {
- searcher.close();
reader.close();
directory.close();
super.tearDown();
Modified: lucene/dev/branches/solrcloud/lucene/src/test/org/apache/lucene/search/TestAutomatonQueryUnicode.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solrcloud/lucene/src/test/org/apache/lucene/search/TestAutomatonQueryUnicode.java?rev=1214623&r1=1214622&r2=1214623&view=diff
==============================================================================
--- lucene/dev/branches/solrcloud/lucene/src/test/org/apache/lucene/search/TestAutomatonQueryUnicode.java (original)
+++ lucene/dev/branches/solrcloud/lucene/src/test/org/apache/lucene/search/TestAutomatonQueryUnicode.java Thu Dec 15 05:11:14 2011
@@ -86,7 +86,6 @@ public class TestAutomatonQueryUnicode e
@Override
public void tearDown() throws Exception {
- searcher.close();
reader.close();
directory.close();
super.tearDown();
Modified: lucene/dev/branches/solrcloud/lucene/src/test/org/apache/lucene/search/TestBoolean2.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solrcloud/lucene/src/test/org/apache/lucene/search/TestBoolean2.java?rev=1214623&r1=1214622&r2=1214623&view=diff
==============================================================================
--- lucene/dev/branches/solrcloud/lucene/src/test/org/apache/lucene/search/TestBoolean2.java (original)
+++ lucene/dev/branches/solrcloud/lucene/src/test/org/apache/lucene/search/TestBoolean2.java Thu Dec 15 05:11:14 2011
@@ -101,12 +101,10 @@ public class TestBoolean2 extends Lucene
@AfterClass
public static void afterClass() throws Exception {
- searcher.close();
reader.close();
littleReader.close();
dir2.close();
directory.close();
- bigSearcher.close();
searcher = null;
reader = null;
littleReader = null;
Modified: lucene/dev/branches/solrcloud/lucene/src/test/org/apache/lucene/search/TestBooleanMinShouldMatch.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solrcloud/lucene/src/test/org/apache/lucene/search/TestBooleanMinShouldMatch.java?rev=1214623&r1=1214622&r2=1214623&view=diff
==============================================================================
--- lucene/dev/branches/solrcloud/lucene/src/test/org/apache/lucene/search/TestBooleanMinShouldMatch.java (original)
+++ lucene/dev/branches/solrcloud/lucene/src/test/org/apache/lucene/search/TestBooleanMinShouldMatch.java Thu Dec 15 05:11:14 2011
@@ -73,7 +73,6 @@ public class TestBooleanMinShouldMatch e
@AfterClass
public static void afterClass() throws Exception {
- s.close();
s = null;
r.close();
r = null;
Modified: lucene/dev/branches/solrcloud/lucene/src/test/org/apache/lucene/search/TestBooleanOr.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solrcloud/lucene/src/test/org/apache/lucene/search/TestBooleanOr.java?rev=1214623&r1=1214622&r2=1214623&view=diff
==============================================================================
--- lucene/dev/branches/solrcloud/lucene/src/test/org/apache/lucene/search/TestBooleanOr.java (original)
+++ lucene/dev/branches/solrcloud/lucene/src/test/org/apache/lucene/search/TestBooleanOr.java Thu Dec 15 05:11:14 2011
@@ -158,7 +158,6 @@ public class TestBooleanOr extends Lucen
@Override
public void tearDown() throws Exception {
- searcher.close();
reader.close();
dir.close();
super.tearDown();
Modified: lucene/dev/branches/solrcloud/lucene/src/test/org/apache/lucene/search/TestBooleanQuery.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solrcloud/lucene/src/test/org/apache/lucene/search/TestBooleanQuery.java?rev=1214623&r1=1214622&r2=1214623&view=diff
==============================================================================
--- lucene/dev/branches/solrcloud/lucene/src/test/org/apache/lucene/search/TestBooleanQuery.java (original)
+++ lucene/dev/branches/solrcloud/lucene/src/test/org/apache/lucene/search/TestBooleanQuery.java Thu Dec 15 05:11:14 2011
@@ -140,7 +140,6 @@ public class TestBooleanQuery extends Lu
dmq.add(pq);
assertEquals(1, s.search(dmq, 10).totalHits);
- s.close();
r.close();
w.close();
dir.close();
Modified: lucene/dev/branches/solrcloud/lucene/src/test/org/apache/lucene/search/TestBooleanScorer.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solrcloud/lucene/src/test/org/apache/lucene/search/TestBooleanScorer.java?rev=1214623&r1=1214622&r2=1214623&view=diff
==============================================================================
--- lucene/dev/branches/solrcloud/lucene/src/test/org/apache/lucene/search/TestBooleanScorer.java (original)
+++ lucene/dev/branches/solrcloud/lucene/src/test/org/apache/lucene/search/TestBooleanScorer.java Thu Dec 15 05:11:14 2011
@@ -62,7 +62,6 @@ public class TestBooleanScorer extends L
IndexSearcher indexSearcher = newSearcher(ir);
ScoreDoc[] hits = indexSearcher.search(query, null, 1000).scoreDocs;
assertEquals("Number of matched documents", 2, hits.length);
- indexSearcher.close();
ir.close();
directory.close();
}
@@ -122,7 +121,6 @@ public class TestBooleanScorer extends L
assertEquals("should have only 1 hit", 1, hits.size());
assertEquals("hit should have been docID=3000", 3000, hits.get(0).intValue());
- searcher.close();
ir.close();
directory.close();
}
@@ -176,7 +174,6 @@ public class TestBooleanScorer extends L
assertEquals(1, count[0]);
- s.close();
r.close();
d.close();
}
Modified: lucene/dev/branches/solrcloud/lucene/src/test/org/apache/lucene/search/TestCachingWrapperFilter.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solrcloud/lucene/src/test/org/apache/lucene/search/TestCachingWrapperFilter.java?rev=1214623&r1=1214622&r2=1214623&view=diff
==============================================================================
--- lucene/dev/branches/solrcloud/lucene/src/test/org/apache/lucene/search/TestCachingWrapperFilter.java (original)
+++ lucene/dev/branches/solrcloud/lucene/src/test/org/apache/lucene/search/TestCachingWrapperFilter.java Thu Dec 15 05:11:14 2011
@@ -30,8 +30,9 @@ import org.apache.lucene.index.SlowMulti
import org.apache.lucene.index.Term;
import org.apache.lucene.store.Directory;
import org.apache.lucene.util.Bits;
-import org.apache.lucene.util.LuceneTestCase;
import org.apache.lucene.util.FixedBitSet;
+import org.apache.lucene.util.LuceneTestCase;
+import org.apache.lucene.util._TestUtil;
public class TestCachingWrapperFilter extends LuceneTestCase {
@@ -40,13 +41,13 @@ public class TestCachingWrapperFilter ex
RandomIndexWriter writer = new RandomIndexWriter(random, dir);
writer.close();
- IndexReader reader = new SlowMultiReaderWrapper(IndexReader.open(dir, true));
+ IndexReader reader = new SlowMultiReaderWrapper(IndexReader.open(dir));
AtomicReaderContext context = (AtomicReaderContext) reader.getTopReaderContext();
MockFilter filter = new MockFilter();
CachingWrapperFilter cacher = new CachingWrapperFilter(filter);
// first time, nested filter is called
- cacher.getDocIdSet(context, context.reader.getLiveDocs());
+ DocIdSet strongRef = cacher.getDocIdSet(context, context.reader.getLiveDocs());
assertTrue("first time", filter.wasCalled());
// make sure no exception if cache is holding the wrong docIdSet
@@ -66,7 +67,7 @@ public class TestCachingWrapperFilter ex
RandomIndexWriter writer = new RandomIndexWriter(random, dir);
writer.close();
- IndexReader reader = new SlowMultiReaderWrapper(IndexReader.open(dir, true));
+ IndexReader reader = new SlowMultiReaderWrapper(IndexReader.open(dir));
AtomicReaderContext context = (AtomicReaderContext) reader.getTopReaderContext();
final Filter filter = new Filter() {
@@ -89,7 +90,7 @@ public class TestCachingWrapperFilter ex
RandomIndexWriter writer = new RandomIndexWriter(random, dir);
writer.close();
- IndexReader reader = new SlowMultiReaderWrapper(IndexReader.open(dir, true));
+ IndexReader reader = new SlowMultiReaderWrapper(IndexReader.open(dir));
AtomicReaderContext context = (AtomicReaderContext) reader.getTopReaderContext();
final Filter filter = new Filter() {
@@ -134,7 +135,7 @@ public class TestCachingWrapperFilter ex
writer.addDocument(new Document());
writer.close();
- IndexReader reader = new SlowMultiReaderWrapper(IndexReader.open(dir, true));
+ IndexReader reader = new SlowMultiReaderWrapper(IndexReader.open(dir));
// not cacheable:
assertDocIdSetCacheable(reader, new QueryWrapperFilter(new TermQuery(new Term("test","value"))), false);
@@ -164,6 +165,7 @@ public class TestCachingWrapperFilter ex
// asserts below requires no unexpected merges:
setMergePolicy(newLogMergePolicy(10))
);
+ _TestUtil.keepFullyDeletedSegments(writer.w);
// NOTE: cannot use writer.getReader because RIW (on
// flipping a coin) may give us a newly opened reader,
@@ -173,13 +175,12 @@ public class TestCachingWrapperFilter ex
// same reason we don't wrap?
IndexSearcher searcher = newSearcher(reader, false);
- // add a doc, refresh the reader, and check that its there
+ // add a doc, refresh the reader, and check that it's there
Document doc = new Document();
doc.add(newField("id", "1", StringField.TYPE_STORED));
writer.addDocument(doc);
reader = refreshReader(reader);
- searcher.close();
searcher = newSearcher(reader, false);
TopDocs docs = searcher.search(new MatchAllDocsQuery(), 1);
@@ -187,25 +188,77 @@ public class TestCachingWrapperFilter ex
final Filter startFilter = new QueryWrapperFilter(new TermQuery(new Term("id", "1")));
- CachingWrapperFilter filter = new CachingWrapperFilter(startFilter);
+ // force cache to regenerate after deletions:
+ CachingWrapperFilter filter = new CachingWrapperFilter(startFilter, true);
docs = searcher.search(new MatchAllDocsQuery(), filter, 1);
+
assertEquals("[query + filter] Should find a hit...", 1, docs.totalHits);
- int missCount = filter.missCount;
- assertTrue(missCount > 0);
+
Query constantScore = new ConstantScoreQuery(filter);
docs = searcher.search(constantScore, 1);
assertEquals("[just filter] Should find a hit...", 1, docs.totalHits);
+
+ // make sure we get a cache hit when we reopen reader
+ // that had no change to deletions
+
+ // fake delete (deletes nothing):
+ writer.deleteDocuments(new Term("foo", "bar"));
+
+ IndexReader oldReader = reader;
+ reader = refreshReader(reader);
+ assertTrue(reader == oldReader);
+ int missCount = filter.missCount;
+ docs = searcher.search(constantScore, 1);
+ assertEquals("[just filter] Should find a hit...", 1, docs.totalHits);
+
+ // cache hit:
assertEquals(missCount, filter.missCount);
+ // now delete the doc, refresh the reader, and see that it's not there
+ writer.deleteDocuments(new Term("id", "1"));
+
// NOTE: important to hold ref here so GC doesn't clear
// the cache entry! Else the assert below may sometimes
// fail:
- IndexReader oldReader = reader;
+ oldReader = reader;
+ reader = refreshReader(reader);
+
+ searcher = newSearcher(reader, false);
+
+ missCount = filter.missCount;
+ docs = searcher.search(new MatchAllDocsQuery(), filter, 1);
+ assertEquals("[query + filter] Should *not* find a hit...", 0, docs.totalHits);
+
+ // cache miss, because we asked CWF to recache when
+ // deletes changed:
+ assertEquals(missCount+1, filter.missCount);
+ docs = searcher.search(constantScore, 1);
+ assertEquals("[just filter] Should *not* find a hit...", 0, docs.totalHits);
+
+ // apply deletes dynamically:
+ filter = new CachingWrapperFilter(startFilter);
+ writer.addDocument(doc);
+ reader = refreshReader(reader);
+ searcher = newSearcher(reader, false);
+
+ docs = searcher.search(new MatchAllDocsQuery(), filter, 1);
+ assertEquals("[query + filter] Should find a hit...", 1, docs.totalHits);
+ missCount = filter.missCount;
+ assertTrue(missCount > 0);
+ constantScore = new ConstantScoreQuery(filter);
+ docs = searcher.search(constantScore, 1);
+ assertEquals("[just filter] Should find a hit...", 1, docs.totalHits);
+ assertEquals(missCount, filter.missCount);
writer.addDocument(doc);
+
+ // NOTE: important to hold ref here so GC doesn't clear
+ // the cache entry! Else the assert below may sometimes
+ // fail:
+ oldReader = reader;
+
reader = refreshReader(reader);
- searcher.close();
searcher = newSearcher(reader, false);
docs = searcher.search(new MatchAllDocsQuery(), filter, 1);
@@ -218,24 +271,20 @@ public class TestCachingWrapperFilter ex
assertEquals("[just filter] Should find a hit...", 2, docs.totalHits);
assertEquals(missCount, filter.missCount);
- // NOTE: important to hold ref here so GC doesn't clear
- // the cache entry! Else the assert below may sometimes
- // fail:
- IndexReader oldReader2 = reader;
-
// now delete the doc, refresh the reader, and see that it's not there
writer.deleteDocuments(new Term("id", "1"));
reader = refreshReader(reader);
- searcher.close();
searcher = newSearcher(reader, false);
docs = searcher.search(new MatchAllDocsQuery(), filter, 1);
assertEquals("[query + filter] Should *not* find a hit...", 0, docs.totalHits);
+ // CWF reused the same entry (it dynamically applied the deletes):
assertEquals(missCount, filter.missCount);
docs = searcher.search(constantScore, 1);
assertEquals("[just filter] Should *not* find a hit...", 0, docs.totalHits);
+ // CWF reused the same entry (it dynamically applied the deletes):
assertEquals(missCount, filter.missCount);
// NOTE: silliness to make sure JRE does not eliminate
@@ -243,9 +292,7 @@ public class TestCachingWrapperFilter ex
// CachingWrapperFilter's WeakHashMap from dropping the
// entry:
assertTrue(oldReader != null);
- assertTrue(oldReader2 != null);
- searcher.close();
reader.close();
writer.close();
dir.close();
Modified: lucene/dev/branches/solrcloud/lucene/src/test/org/apache/lucene/search/TestConstantScoreQuery.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solrcloud/lucene/src/test/org/apache/lucene/search/TestConstantScoreQuery.java?rev=1214623&r1=1214622&r2=1214623&view=diff
==============================================================================
--- lucene/dev/branches/solrcloud/lucene/src/test/org/apache/lucene/search/TestConstantScoreQuery.java (original)
+++ lucene/dev/branches/solrcloud/lucene/src/test/org/apache/lucene/search/TestConstantScoreQuery.java Thu Dec 15 05:11:14 2011
@@ -125,7 +125,6 @@ public class TestConstantScoreQuery exte
checkHits(searcher, bq, csq1.getBoost() + csq2.getBoost(), bucketScorerClass, null);
checkHits(searcher, csqbq, csqbq.getBoost(), ConstantScoreQuery.ConstantScorer.class.getName(), bucketScorerClass);
} finally {
- if (searcher != null) searcher.close();
if (reader != null) reader.close();
if (directory != null) directory.close();
}
Modified: lucene/dev/branches/solrcloud/lucene/src/test/org/apache/lucene/search/TestDateFilter.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solrcloud/lucene/src/test/org/apache/lucene/search/TestDateFilter.java?rev=1214623&r1=1214622&r2=1214623&view=diff
==============================================================================
--- lucene/dev/branches/solrcloud/lucene/src/test/org/apache/lucene/search/TestDateFilter.java (original)
+++ lucene/dev/branches/solrcloud/lucene/src/test/org/apache/lucene/search/TestDateFilter.java Thu Dec 15 05:11:14 2011
@@ -97,7 +97,6 @@ public class TestDateFilter extends Luce
result = searcher.search(query2, df2, 1000).scoreDocs;
assertEquals(0, result.length);
- searcher.close();
reader.close();
indexStore.close();
}
@@ -164,7 +163,6 @@ public class TestDateFilter extends Luce
result = searcher.search(query2, df2, 1000).scoreDocs;
assertEquals(0, result.length);
- searcher.close();
reader.close();
indexStore.close();
}
Modified: lucene/dev/branches/solrcloud/lucene/src/test/org/apache/lucene/search/TestDateSort.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solrcloud/lucene/src/test/org/apache/lucene/search/TestDateSort.java?rev=1214623&r1=1214622&r2=1214623&view=diff
==============================================================================
--- lucene/dev/branches/solrcloud/lucene/src/test/org/apache/lucene/search/TestDateSort.java (original)
+++ lucene/dev/branches/solrcloud/lucene/src/test/org/apache/lucene/search/TestDateSort.java Thu Dec 15 05:11:14 2011
@@ -88,7 +88,6 @@ public class TestDateSort extends Lucene
String text = document.get(TEXT_FIELD);
actualOrder[i] = text;
}
- searcher.close();
// Set up the expected order (i.e. Document 5, 4, 3, 2, 1).
String[] expectedOrder = new String[5];
Modified: lucene/dev/branches/solrcloud/lucene/src/test/org/apache/lucene/search/TestDisjunctionMaxQuery.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solrcloud/lucene/src/test/org/apache/lucene/search/TestDisjunctionMaxQuery.java?rev=1214623&r1=1214622&r2=1214623&view=diff
==============================================================================
--- lucene/dev/branches/solrcloud/lucene/src/test/org/apache/lucene/search/TestDisjunctionMaxQuery.java (original)
+++ lucene/dev/branches/solrcloud/lucene/src/test/org/apache/lucene/search/TestDisjunctionMaxQuery.java Thu Dec 15 05:11:14 2011
@@ -163,7 +163,6 @@ public class TestDisjunctionMaxQuery ext
@Override
public void tearDown() throws Exception {
- s.close();
r.close();
index.close();
super.tearDown();
Modified: lucene/dev/branches/solrcloud/lucene/src/test/org/apache/lucene/search/TestDocIdSet.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solrcloud/lucene/src/test/org/apache/lucene/search/TestDocIdSet.java?rev=1214623&r1=1214622&r2=1214623&view=diff
==============================================================================
--- lucene/dev/branches/solrcloud/lucene/src/test/org/apache/lucene/search/TestDocIdSet.java (original)
+++ lucene/dev/branches/solrcloud/lucene/src/test/org/apache/lucene/search/TestDocIdSet.java Thu Dec 15 05:11:14 2011
@@ -121,7 +121,6 @@ public class TestDocIdSet extends Lucene
};
Assert.assertEquals(0, searcher.search(new MatchAllDocsQuery(), f, 10).totalHits);
- searcher.close();
reader.close();
dir.close();
}
Modified: lucene/dev/branches/solrcloud/lucene/src/test/org/apache/lucene/search/TestDocValuesScoring.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solrcloud/lucene/src/test/org/apache/lucene/search/TestDocValuesScoring.java?rev=1214623&r1=1214622&r2=1214623&view=diff
==============================================================================
--- lucene/dev/branches/solrcloud/lucene/src/test/org/apache/lucene/search/TestDocValuesScoring.java (original)
+++ lucene/dev/branches/solrcloud/lucene/src/test/org/apache/lucene/search/TestDocValuesScoring.java Thu Dec 15 05:11:14 2011
@@ -21,15 +21,15 @@ import java.io.IOException;
import org.apache.lucene.document.Document;
import org.apache.lucene.document.Field;
-import org.apache.lucene.document.IndexDocValuesField;
+import org.apache.lucene.document.DocValuesField;
import org.apache.lucene.document.TextField;
import org.apache.lucene.index.FieldInvertState;
import org.apache.lucene.index.IndexReader;
import org.apache.lucene.index.RandomIndexWriter;
import org.apache.lucene.index.Term;
+import org.apache.lucene.index.DocValues.Source;
import org.apache.lucene.index.IndexReader.AtomicReaderContext;
import org.apache.lucene.index.codecs.Codec;
-import org.apache.lucene.index.values.IndexDocValues.Source;
import org.apache.lucene.search.similarities.DefaultSimilarityProvider;
import org.apache.lucene.search.similarities.Similarity;
import org.apache.lucene.search.similarities.SimilarityProvider;
@@ -48,7 +48,7 @@ public class TestDocValuesScoring extend
private static final float SCORE_EPSILON = 0.001f; /* for comparing floats */
public void testSimple() throws Exception {
- assumeFalse("PreFlex codec cannot work with IndexDocValues!",
+ assumeFalse("PreFlex codec cannot work with DocValues!",
"Lucene3x".equals(Codec.getDefault().getName()));
Directory dir = newDirectory();
@@ -56,7 +56,7 @@ public class TestDocValuesScoring extend
Document doc = new Document();
Field field = newField("foo", "", TextField.TYPE_UNSTORED);
doc.add(field);
- IndexDocValuesField dvField = new IndexDocValuesField("foo_boost");
+ DocValuesField dvField = new DocValuesField("foo_boost");
doc.add(dvField);
Field field2 = newField("bar", "", TextField.TYPE_UNSTORED);
doc.add(field2);
@@ -133,9 +133,6 @@ public class TestDocValuesScoring extend
assertEquals(boost.scoreDocs[0].score, noboost.scoreDocs[0].score, SCORE_EPSILON);
-
- searcher1.close();
- searcher2.close();
ir.close();
dir.close();
}
Modified: lucene/dev/branches/solrcloud/lucene/src/test/org/apache/lucene/search/TestElevationComparator.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solrcloud/lucene/src/test/org/apache/lucene/search/TestElevationComparator.java?rev=1214623&r1=1214622&r2=1214623&view=diff
==============================================================================
--- lucene/dev/branches/solrcloud/lucene/src/test/org/apache/lucene/search/TestElevationComparator.java (original)
+++ lucene/dev/branches/solrcloud/lucene/src/test/org/apache/lucene/search/TestElevationComparator.java Thu Dec 15 05:11:14 2011
@@ -61,7 +61,6 @@ public class TestElevationComparator ext
runTest(searcher, true);
runTest(searcher, false);
- searcher.close();
r.close();
directory.close();
}
Modified: lucene/dev/branches/solrcloud/lucene/src/test/org/apache/lucene/search/TestExplanations.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solrcloud/lucene/src/test/org/apache/lucene/search/TestExplanations.java?rev=1214623&r1=1214622&r2=1214623&view=diff
==============================================================================
--- lucene/dev/branches/solrcloud/lucene/src/test/org/apache/lucene/search/TestExplanations.java (original)
+++ lucene/dev/branches/solrcloud/lucene/src/test/org/apache/lucene/search/TestExplanations.java Thu Dec 15 05:11:14 2011
@@ -61,7 +61,6 @@ public class TestExplanations extends Lu
@AfterClass
public static void afterClassTestExplanations() throws Exception {
- searcher.close();
searcher = null;
reader.close();
reader = null;
Modified: lucene/dev/branches/solrcloud/lucene/src/test/org/apache/lucene/search/TestFieldCacheRangeFilter.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solrcloud/lucene/src/test/org/apache/lucene/search/TestFieldCacheRangeFilter.java?rev=1214623&r1=1214622&r2=1214623&view=diff
==============================================================================
--- lucene/dev/branches/solrcloud/lucene/src/test/org/apache/lucene/search/TestFieldCacheRangeFilter.java (original)
+++ lucene/dev/branches/solrcloud/lucene/src/test/org/apache/lucene/search/TestFieldCacheRangeFilter.java Thu Dec 15 05:11:14 2011
@@ -122,7 +122,6 @@ public class TestFieldCacheRangeFilter e
result = search.search(q,FieldCacheRangeFilter.newStringRange("id",medIP,medIP,T,T), numDocs).scoreDocs;
assertEquals("med,med,T,T", 1, result.length);
- search.close();
}
@Test
@@ -185,7 +184,6 @@ public class TestFieldCacheRangeFilter e
assertEquals("max,max,T,T", 1, result.length);
result = search.search(q,FieldCacheRangeFilter.newStringRange("rand",maxRP,null,T,F), numDocs).scoreDocs;
assertEquals("max,nul,T,T", 1, result.length);
- search.close();
}
// byte-ranges cannot be tested, because all ranges are too big for bytes, need an extra range for that
@@ -278,7 +276,6 @@ public class TestFieldCacheRangeFilter e
assertEquals("overflow special case", 0, result.length);
result = search.search(q,FieldCacheRangeFilter.newShortRange("id",maxIdO,minIdO,T,T), numDocs).scoreDocs;
assertEquals("inverse range", 0, result.length);
- search.close();
}
@Test
@@ -370,7 +367,6 @@ public class TestFieldCacheRangeFilter e
assertEquals("overflow special case", 0, result.length);
result = search.search(q,FieldCacheRangeFilter.newIntRange("id",maxIdO,minIdO,T,T), numDocs).scoreDocs;
assertEquals("inverse range", 0, result.length);
- search.close();
}
@Test
@@ -462,7 +458,6 @@ public class TestFieldCacheRangeFilter e
assertEquals("overflow special case", 0, result.length);
result = search.search(q,FieldCacheRangeFilter.newLongRange("id",maxIdO,minIdO,T,T), numDocs).scoreDocs;
assertEquals("inverse range", 0, result.length);
- search.close();
}
// float and double tests are a bit minimalistic, but its complicated, because missing precision
@@ -494,7 +489,6 @@ public class TestFieldCacheRangeFilter e
assertEquals("infinity special case", 0, result.length);
result = search.search(q,FieldCacheRangeFilter.newFloatRange("id",null,Float.valueOf(Float.NEGATIVE_INFINITY),F,F), numDocs).scoreDocs;
assertEquals("infinity special case", 0, result.length);
- search.close();
}
@Test
@@ -524,7 +518,6 @@ public class TestFieldCacheRangeFilter e
assertEquals("infinity special case", 0, result.length);
result = search.search(q,FieldCacheRangeFilter.newDoubleRange("id",null, Double.valueOf(Double.NEGATIVE_INFINITY),F,F), numDocs).scoreDocs;
assertEquals("infinity special case", 0, result.length);
- search.close();
}
// test using a sparse index (with deleted docs).
@@ -544,7 +537,7 @@ public class TestFieldCacheRangeFilter e
writer.deleteDocuments(new Term("id","0"));
writer.close();
- IndexReader reader = IndexReader.open(dir, true);
+ IndexReader reader = IndexReader.open(dir);
IndexSearcher search = newSearcher(reader);
assertTrue(reader.hasDeletions());
@@ -565,7 +558,6 @@ public class TestFieldCacheRangeFilter e
result = search.search(q,FieldCacheRangeFilter.newByteRange("id",Byte.valueOf((byte) -20),Byte.valueOf((byte) -10),T,T), 100).scoreDocs;
assertEquals("find all", 11, result.length);
- search.close();
reader.close();
dir.close();
}
Modified: lucene/dev/branches/solrcloud/lucene/src/test/org/apache/lucene/search/TestFieldCacheTermsFilter.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solrcloud/lucene/src/test/org/apache/lucene/search/TestFieldCacheTermsFilter.java?rev=1214623&r1=1214622&r2=1214623&view=diff
==============================================================================
--- lucene/dev/branches/solrcloud/lucene/src/test/org/apache/lucene/search/TestFieldCacheTermsFilter.java (original)
+++ lucene/dev/branches/solrcloud/lucene/src/test/org/apache/lucene/search/TestFieldCacheTermsFilter.java Thu Dec 15 05:11:14 2011
@@ -68,7 +68,6 @@ public class TestFieldCacheTermsFilter e
results = searcher.search(q, new FieldCacheTermsFilter(fieldName, terms.toArray(new String[0])), numDocs).scoreDocs;
assertEquals("Must match 2", 2, results.length);
- searcher.close();
reader.close();
rd.close();
}
Modified: lucene/dev/branches/solrcloud/lucene/src/test/org/apache/lucene/search/TestFieldValueFilter.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solrcloud/lucene/src/test/org/apache/lucene/search/TestFieldValueFilter.java?rev=1214623&r1=1214622&r2=1214623&view=diff
==============================================================================
--- lucene/dev/branches/solrcloud/lucene/src/test/org/apache/lucene/search/TestFieldValueFilter.java (original)
+++ lucene/dev/branches/solrcloud/lucene/src/test/org/apache/lucene/search/TestFieldValueFilter.java Thu Dec 15 05:11:14 2011
@@ -58,7 +58,6 @@ public class TestFieldValueFilter extend
}
reader.close();
- searcher.close();
directory.close();
}
@@ -86,7 +85,6 @@ public class TestFieldValueFilter extend
}
reader.close();
- searcher.close();
directory.close();
}
Modified: lucene/dev/branches/solrcloud/lucene/src/test/org/apache/lucene/search/TestFilteredQuery.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solrcloud/lucene/src/test/org/apache/lucene/search/TestFilteredQuery.java?rev=1214623&r1=1214622&r2=1214623&view=diff
==============================================================================
--- lucene/dev/branches/solrcloud/lucene/src/test/org/apache/lucene/search/TestFilteredQuery.java (original)
+++ lucene/dev/branches/solrcloud/lucene/src/test/org/apache/lucene/search/TestFilteredQuery.java Thu Dec 15 05:11:14 2011
@@ -104,7 +104,6 @@ public class TestFilteredQuery extends L
@Override
public void tearDown() throws Exception {
- searcher.close();
reader.close();
directory.close();
super.tearDown();
@@ -133,6 +132,11 @@ public class TestFilteredQuery extends L
assertEquals (2, hits.length);
QueryUtils.check(random, filteredquery,searcher);
+ filteredquery = new FilteredQueryRA(new MatchAllDocsQuery(), filter, useRandomAccess);
+ hits = searcher.search (filteredquery, null, 1000).scoreDocs;
+ assertEquals (2, hits.length);
+ QueryUtils.check(random, filteredquery,searcher);
+
filteredquery = new FilteredQueryRA(new TermQuery (new Term ("field", "x")), filter, useRandomAccess);
hits = searcher.search (filteredquery, null, 1000).scoreDocs;
assertEquals (1, hits.length);
@@ -221,9 +225,9 @@ public class TestFilteredQuery extends L
private void tBooleanMUST(final boolean useRandomAccess) throws Exception {
BooleanQuery bq = new BooleanQuery();
- Query query = new FilteredQueryRA(new MatchAllDocsQuery(), new SingleDocTestFilter(0), useRandomAccess);
+ Query query = new FilteredQueryRA(new TermQuery(new Term("field", "one")), new SingleDocTestFilter(0), useRandomAccess);
bq.add(query, BooleanClause.Occur.MUST);
- query = new FilteredQueryRA(new MatchAllDocsQuery(), new SingleDocTestFilter(1), useRandomAccess);
+ query = new FilteredQueryRA(new TermQuery(new Term("field", "one")), new SingleDocTestFilter(1), useRandomAccess);
bq.add(query, BooleanClause.Occur.MUST);
ScoreDoc[] hits = searcher.search(bq, null, 1000).scoreDocs;
assertEquals(0, hits.length);
@@ -239,9 +243,9 @@ public class TestFilteredQuery extends L
private void tBooleanSHOULD(final boolean useRandomAccess) throws Exception {
BooleanQuery bq = new BooleanQuery();
- Query query = new FilteredQueryRA(new MatchAllDocsQuery(), new SingleDocTestFilter(0), useRandomAccess);
+ Query query = new FilteredQueryRA(new TermQuery(new Term("field", "one")), new SingleDocTestFilter(0), useRandomAccess);
bq.add(query, BooleanClause.Occur.SHOULD);
- query = new FilteredQueryRA(new MatchAllDocsQuery(), new SingleDocTestFilter(1), useRandomAccess);
+ query = new FilteredQueryRA(new TermQuery(new Term("field", "one")), new SingleDocTestFilter(1), useRandomAccess);
bq.add(query, BooleanClause.Occur.SHOULD);
ScoreDoc[] hits = searcher.search(bq, null, 1000).scoreDocs;
assertEquals(2, hits.length);
@@ -289,6 +293,76 @@ public class TestFilteredQuery extends L
assertEquals(1, hits.length);
QueryUtils.check(random, query, searcher);
}
+
+ public void testEqualsHashcode() throws Exception {
+ // some tests before, if the used queries and filters work:
+ assertEquals(new PrefixFilter(new Term("field", "o")), new PrefixFilter(new Term("field", "o")));
+ assertFalse(new PrefixFilter(new Term("field", "a")).equals(new PrefixFilter(new Term("field", "o"))));
+ QueryUtils.checkHashEquals(new TermQuery(new Term("field", "one")));
+ QueryUtils.checkUnequal(
+ new TermQuery(new Term("field", "one")), new TermQuery(new Term("field", "two"))
+ );
+ // now test FilteredQuery equals/hashcode:
+ QueryUtils.checkHashEquals(new FilteredQuery(new TermQuery(new Term("field", "one")), new PrefixFilter(new Term("field", "o"))));
+ QueryUtils.checkUnequal(
+ new FilteredQuery(new TermQuery(new Term("field", "one")), new PrefixFilter(new Term("field", "o"))),
+ new FilteredQuery(new TermQuery(new Term("field", "two")), new PrefixFilter(new Term("field", "o")))
+ );
+ QueryUtils.checkUnequal(
+ new FilteredQuery(new TermQuery(new Term("field", "one")), new PrefixFilter(new Term("field", "a"))),
+ new FilteredQuery(new TermQuery(new Term("field", "one")), new PrefixFilter(new Term("field", "o")))
+ );
+ }
+
+ public void testInvalidArguments() throws Exception {
+ try {
+ new FilteredQuery(null, null);
+ fail("Should throw IllegalArgumentException");
+ } catch (IllegalArgumentException iae) {
+ // pass
+ }
+ try {
+ new FilteredQuery(new TermQuery(new Term("field", "one")), null);
+ fail("Should throw IllegalArgumentException");
+ } catch (IllegalArgumentException iae) {
+ // pass
+ }
+ try {
+ new FilteredQuery(null, new PrefixFilter(new Term("field", "o")));
+ fail("Should throw IllegalArgumentException");
+ } catch (IllegalArgumentException iae) {
+ // pass
+ }
+ }
+
+ private void assertRewrite(FilteredQuery fq, Class<? extends Query> clazz) throws Exception {
+ // assign crazy boost to FQ
+ final float boost = random.nextFloat() * 100.f;
+ fq.setBoost(boost);
+
+ // assign crazy boost to inner
+ final float innerBoost = random.nextFloat() * 100.f;
+ fq.getQuery().setBoost(innerBoost);
+
+ // check the class and boosts of rewritten query
+ final Query rewritten = searcher.rewrite(fq);
+ assertTrue("is not instance of " + clazz.getName(), clazz.isInstance(rewritten));
+ if (rewritten instanceof FilteredQuery) {
+ assertEquals(boost, rewritten.getBoost(), 1.E-5f);
+ assertEquals(innerBoost, ((FilteredQuery) rewritten).getQuery().getBoost(), 1.E-5f);
+ } else {
+ assertEquals(boost * innerBoost, rewritten.getBoost(), 1.E-5f);
+ }
+
+ // check that the original query was not modified
+ assertEquals(boost, fq.getBoost(), 1.E-5f);
+ assertEquals(innerBoost, fq.getQuery().getBoost(), 1.E-5f);
+ }
+
+ public void testRewrite() throws Exception {
+ assertRewrite(new FilteredQuery(new TermQuery(new Term("field", "one")), new PrefixFilter(new Term("field", "o"))), FilteredQuery.class);
+ assertRewrite(new FilteredQuery(new MatchAllDocsQuery(), new PrefixFilter(new Term("field", "o"))), ConstantScoreQuery.class);
+ }
public static final class FilteredQueryRA extends FilteredQuery {
private final boolean useRandomAccess;
Modified: lucene/dev/branches/solrcloud/lucene/src/test/org/apache/lucene/search/TestFilteredSearch.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solrcloud/lucene/src/test/org/apache/lucene/search/TestFilteredSearch.java?rev=1214623&r1=1214622&r2=1214623&view=diff
==============================================================================
--- lucene/dev/branches/solrcloud/lucene/src/test/org/apache/lucene/search/TestFilteredSearch.java (original)
+++ lucene/dev/branches/solrcloud/lucene/src/test/org/apache/lucene/search/TestFilteredSearch.java Thu Dec 15 05:11:14 2011
@@ -82,7 +82,6 @@ public class TestFilteredSearch extends
IndexSearcher indexSearcher = new IndexSearcher(reader);
ScoreDoc[] hits = indexSearcher.search(booleanQuery, filter, 1000).scoreDocs;
assertEquals("Number of matched documents", 1, hits.length);
- indexSearcher.close();
reader.close();
}
catch (IOException e) {
Modified: lucene/dev/branches/solrcloud/lucene/src/test/org/apache/lucene/search/TestFuzzyQuery.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solrcloud/lucene/src/test/org/apache/lucene/search/TestFuzzyQuery.java?rev=1214623&r1=1214622&r2=1214623&view=diff
==============================================================================
--- lucene/dev/branches/solrcloud/lucene/src/test/org/apache/lucene/search/TestFuzzyQuery.java (original)
+++ lucene/dev/branches/solrcloud/lucene/src/test/org/apache/lucene/search/TestFuzzyQuery.java Thu Dec 15 05:11:14 2011
@@ -185,7 +185,6 @@ public class TestFuzzyQuery extends Luce
hits = searcher.search(query, null, 1000).scoreDocs;
assertEquals(0, hits.length);
- searcher.close();
reader.close();
directory.close();
}
@@ -275,7 +274,6 @@ public class TestFuzzyQuery extends Luce
// expecting exception
}
- searcher.close();
reader.close();
directory.close();
}
@@ -312,7 +310,6 @@ public class TestFuzzyQuery extends Luce
FuzzyQuery fq = new FuzzyQuery(new Term("field", "z123456"), 1f, 0, 2);
TopDocs docs = searcher.search(fq, 2);
assertEquals(5, docs.totalHits); // 5 docs, from the a and b's
- searcher.close();
mr.close();
ir1.close();
ir2.close();
@@ -353,7 +350,6 @@ public class TestFuzzyQuery extends Luce
hits = searcher.search(query, null, 1000).scoreDocs;
assertEquals(0, hits.length);
- searcher.close();
reader.close();
directory.close();
}
@@ -378,7 +374,6 @@ public class TestFuzzyQuery extends Luce
assertEquals("Lucene", reader.document(hits[0].doc).get("field"));
assertEquals("Lucene", reader.document(hits[1].doc).get("field"));
assertEquals("Lucenne", reader.document(hits[2].doc).get("field"));
- searcher.close();
reader.close();
directory.close();
}
@@ -416,7 +411,6 @@ public class TestFuzzyQuery extends Luce
ScoreDoc[] hits = searcher.search(q, 10).scoreDocs;
assertEquals(1, hits.length);
assertEquals("Giga byte", searcher.doc(hits[0].doc).get("field"));
- searcher.close();
r.close();
index.close();
}
@@ -457,7 +451,6 @@ public class TestFuzzyQuery extends Luce
assertEquals("test", searcher.doc(hits[0].doc).get("field"));
assertEquals("foobar", searcher.doc(hits[1].doc).get("field"));
- searcher.close();
reader.close();
index.close();
}
Modified: lucene/dev/branches/solrcloud/lucene/src/test/org/apache/lucene/search/TestFuzzyQuery2.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solrcloud/lucene/src/test/org/apache/lucene/search/TestFuzzyQuery2.java?rev=1214623&r1=1214622&r2=1214623&view=diff
==============================================================================
--- lucene/dev/branches/solrcloud/lucene/src/test/org/apache/lucene/search/TestFuzzyQuery2.java (original)
+++ lucene/dev/branches/solrcloud/lucene/src/test/org/apache/lucene/search/TestFuzzyQuery2.java Thu Dec 15 05:11:14 2011
@@ -139,7 +139,6 @@ public class TestFuzzyQuery2 extends Luc
assertEquals(Float.parseFloat(scoreDoc[1]), docs.scoreDocs[i].score, epsilon);
}
}
- searcher.close();
r.close();
dir.close();
}
Modified: lucene/dev/branches/solrcloud/lucene/src/test/org/apache/lucene/search/TestMatchAllDocsQuery.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solrcloud/lucene/src/test/org/apache/lucene/search/TestMatchAllDocsQuery.java?rev=1214623&r1=1214622&r2=1214623&view=diff
==============================================================================
--- lucene/dev/branches/solrcloud/lucene/src/test/org/apache/lucene/search/TestMatchAllDocsQuery.java (original)
+++ lucene/dev/branches/solrcloud/lucene/src/test/org/apache/lucene/search/TestMatchAllDocsQuery.java Thu Dec 15 05:11:14 2011
@@ -44,9 +44,8 @@ public class TestMatchAllDocsQuery exten
addDoc("one", iw, 1f);
addDoc("two", iw, 20f);
addDoc("three four", iw, 300f);
- iw.close();
+ IndexReader ir = IndexReader.open(iw, true);
- IndexReader ir = IndexReader.open(dir, false);
IndexSearcher is = newSearcher(ir);
ScoreDoc[] hits;
@@ -70,12 +69,15 @@ public class TestMatchAllDocsQuery exten
hits = is.search(bq, null, 1000).scoreDocs;
assertEquals(1, hits.length);
- // delete a document:
- is.getIndexReader().deleteDocument(0);
+ iw.deleteDocuments(new Term("key", "one"));
+ ir.close();
+ ir = IndexReader.open(iw, true);
+ is = newSearcher(ir);
+
hits = is.search(new MatchAllDocsQuery(), null, 1000).scoreDocs;
assertEquals(2, hits.length);
-
- is.close();
+
+ iw.close();
ir.close();
dir.close();
}
Modified: lucene/dev/branches/solrcloud/lucene/src/test/org/apache/lucene/search/TestMultiPhraseQuery.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solrcloud/lucene/src/test/org/apache/lucene/search/TestMultiPhraseQuery.java?rev=1214623&r1=1214622&r2=1214623&view=diff
==============================================================================
--- lucene/dev/branches/solrcloud/lucene/src/test/org/apache/lucene/search/TestMultiPhraseQuery.java (original)
+++ lucene/dev/branches/solrcloud/lucene/src/test/org/apache/lucene/search/TestMultiPhraseQuery.java Thu Dec 15 05:11:14 2011
@@ -142,7 +142,6 @@ public class TestMultiPhraseQuery extend
}
writer.close();
- searcher.close();
reader.close();
indexStore.close();
}
@@ -162,7 +161,6 @@ public class TestMultiPhraseQuery extend
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();
}
@@ -205,7 +203,6 @@ public class TestMultiPhraseQuery extend
searcher.explain(q, 0);
writer.close();
- searcher.close();
reader.close();
indexStore.close();
}
@@ -233,7 +230,6 @@ public class TestMultiPhraseQuery extend
ScoreDoc[] hits = searcher.search(q, null, 1000).scoreDocs;
assertEquals("Wrong number of hits", 0, hits.length);
writer.close();
- searcher.close();
reader.close();
indexStore.close();
}
@@ -256,7 +252,6 @@ public class TestMultiPhraseQuery extend
searcher.explain(q, 0);
writer.close();
- searcher.close();
reader.close();
indexStore.close();
}
@@ -330,7 +325,6 @@ public class TestMultiPhraseQuery extend
assertEquals(10f * 10f, weight.getValueForNormalization(), 0.001f);
writer.close();
- searcher.close();
reader.close();
indexStore.close();
}