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 2010/12/06 01:47:28 UTC
svn commit: r1042501 [6/13] - in /lucene/dev/branches/docvalues: ./ lucene/
lucene/contrib/
lucene/contrib/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/
lucene/contrib/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/
lucene/c...
Modified: lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/index/TestAddIndexes.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/index/TestAddIndexes.java?rev=1042501&r1=1042500&r2=1042501&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/index/TestAddIndexes.java (original)
+++ lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/index/TestAddIndexes.java Mon Dec 6 00:47:16 2010
@@ -58,9 +58,12 @@ public class TestAddIndexes extends Luce
writer.close();
_TestUtil.checkIndex(dir);
- writer = newWriter(aux, newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()).setOpenMode(OpenMode.CREATE));
- ((LogMergePolicy) writer.getConfig().getMergePolicy()).setUseCompoundFile(false); // use one without a compound file
- ((LogMergePolicy) writer.getConfig().getMergePolicy()).setUseCompoundDocStore(false); // use one without a compound file
+ writer = newWriter(
+ aux,
+ newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()).
+ setOpenMode(OpenMode.CREATE).
+ setMergePolicy(newLogMergePolicy(false))
+ );
// add 40 documents in separate files
addDocs(writer, 40);
assertEquals(40, writer.maxDoc());
@@ -75,7 +78,7 @@ public class TestAddIndexes extends Luce
// test doc count before segments are merged
writer = newWriter(dir, newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()).setOpenMode(OpenMode.APPEND));
assertEquals(100, writer.maxDoc());
- writer.addIndexes(new Directory[] { aux, aux2 });
+ writer.addIndexes(aux, aux2);
assertEquals(190, writer.maxDoc());
writer.close();
_TestUtil.checkIndex(dir);
@@ -97,7 +100,7 @@ public class TestAddIndexes extends Luce
// test doc count before segments are merged/index is optimized
writer = newWriter(dir, newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()).setOpenMode(OpenMode.APPEND));
assertEquals(190, writer.maxDoc());
- writer.addIndexes(new Directory[] { aux3 });
+ writer.addIndexes(aux3);
assertEquals(230, writer.maxDoc());
writer.close();
@@ -128,7 +131,7 @@ public class TestAddIndexes extends Luce
writer = newWriter(dir, newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()).setOpenMode(OpenMode.APPEND));
assertEquals(230, writer.maxDoc());
- writer.addIndexes(new Directory[] { aux4 });
+ writer.addIndexes(aux4);
assertEquals(231, writer.maxDoc());
writer.close();
@@ -150,7 +153,7 @@ public class TestAddIndexes extends Luce
setUpDirs(dir, aux);
IndexWriter writer = newWriter(dir, newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()).setOpenMode(OpenMode.APPEND));
- writer.addIndexes(new Directory[] {aux});
+ writer.addIndexes(aux);
// Adds 10 docs, then replaces them with another 10
// docs, so 10 pending deletes:
@@ -197,7 +200,7 @@ public class TestAddIndexes extends Luce
writer.updateDocument(new Term("id", "" + (i%10)), doc);
}
- writer.addIndexes(new Directory[] {aux});
+ writer.addIndexes(aux);
// Deletes one of the 10 added docs, leaving 9:
PhraseQuery q = new PhraseQuery();
@@ -242,7 +245,7 @@ public class TestAddIndexes extends Luce
q.add(new Term("content", "14"));
writer.deleteDocuments(q);
- writer.addIndexes(new Directory[] {aux});
+ writer.addIndexes(aux);
writer.optimize();
writer.commit();
@@ -271,22 +274,30 @@ public class TestAddIndexes extends Luce
assertEquals(100, writer.maxDoc());
writer.close();
- writer = newWriter(aux, newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()).setOpenMode(OpenMode.CREATE).setMaxBufferedDocs(1000));
- ((LogMergePolicy) writer.getConfig().getMergePolicy()).setUseCompoundFile(false); // use one without a compound file
- ((LogMergePolicy) writer.getConfig().getMergePolicy()).setUseCompoundDocStore(false); // use one without a compound file
+ writer = newWriter(
+ aux,
+ newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()).
+ setOpenMode(OpenMode.CREATE).
+ setMaxBufferedDocs(1000).
+ setMergePolicy(newLogMergePolicy(false))
+ );
// add 140 documents in separate files
addDocs(writer, 40);
writer.close();
- writer = newWriter(aux, newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()).setOpenMode(OpenMode.CREATE).setMaxBufferedDocs(1000));
- ((LogMergePolicy) writer.getConfig().getMergePolicy()).setUseCompoundFile(false); // use one without a compound file
- ((LogMergePolicy) writer.getConfig().getMergePolicy()).setUseCompoundDocStore(false); // use one without a compound file
+ writer = newWriter(
+ aux,
+ newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()).
+ setOpenMode(OpenMode.CREATE).
+ setMaxBufferedDocs(1000).
+ setMergePolicy(newLogMergePolicy(false))
+ );
addDocs(writer, 100);
writer.close();
writer = newWriter(dir, newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()).setOpenMode(OpenMode.APPEND));
try {
// cannot add self
- writer.addIndexes(new Directory[] { aux, dir });
+ writer.addIndexes(aux, dir);
assertTrue(false);
}
catch (IllegalArgumentException e) {
@@ -311,13 +322,16 @@ public class TestAddIndexes extends Luce
setUpDirs(dir, aux);
- IndexWriter writer = newWriter(dir, newIndexWriterConfig(
- TEST_VERSION_CURRENT, new MockAnalyzer())
- .setOpenMode(OpenMode.APPEND).setMaxBufferedDocs(10));
- ((LogMergePolicy) writer.getConfig().getMergePolicy()).setMergeFactor(4);
+ IndexWriter writer = newWriter(
+ dir,
+ newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()).
+ setOpenMode(OpenMode.APPEND).
+ setMaxBufferedDocs(10).
+ setMergePolicy(newLogMergePolicy(4))
+ );
addDocs(writer, 10);
- writer.addIndexes(new Directory[] { aux });
+ writer.addIndexes(aux);
assertEquals(1040, writer.maxDoc());
assertEquals(1000, writer.getDocCount(0));
writer.close();
@@ -337,11 +351,16 @@ public class TestAddIndexes extends Luce
setUpDirs(dir, aux);
- IndexWriter writer = newWriter(dir, newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()).setOpenMode(OpenMode.APPEND).setMaxBufferedDocs(9));
- ((LogMergePolicy) writer.getConfig().getMergePolicy()).setMergeFactor(4);
+ IndexWriter writer = newWriter(
+ dir,
+ newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()).
+ setOpenMode(OpenMode.APPEND).
+ setMaxBufferedDocs(9).
+ setMergePolicy(newLogMergePolicy(4))
+ );
addDocs(writer, 2);
- writer.addIndexes(new Directory[] { aux });
+ writer.addIndexes(aux);
assertEquals(1032, writer.maxDoc());
assertEquals(1000, writer.getDocCount(0));
writer.close();
@@ -361,12 +380,15 @@ public class TestAddIndexes extends Luce
setUpDirs(dir, aux);
- IndexWriter writer = newWriter(dir, newIndexWriterConfig(
- TEST_VERSION_CURRENT, new MockAnalyzer())
- .setOpenMode(OpenMode.APPEND).setMaxBufferedDocs(10));
- ((LogMergePolicy) writer.getConfig().getMergePolicy()).setMergeFactor(4);
+ IndexWriter writer = newWriter(
+ dir,
+ newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()).
+ setOpenMode(OpenMode.APPEND).
+ setMaxBufferedDocs(10).
+ setMergePolicy(newLogMergePolicy(4))
+ );
- writer.addIndexes(new Directory[] { aux, new MockDirectoryWrapper(random, new RAMDirectory(aux)) });
+ writer.addIndexes(aux, new MockDirectoryWrapper(random, new RAMDirectory(aux)));
assertEquals(1060, writer.maxDoc());
assertEquals(1000, writer.getDocCount(0));
writer.close();
@@ -393,12 +415,15 @@ public class TestAddIndexes extends Luce
assertEquals(10, reader.numDocs());
reader.close();
- IndexWriter writer = newWriter(dir, newIndexWriterConfig(
- TEST_VERSION_CURRENT, new MockAnalyzer())
- .setOpenMode(OpenMode.APPEND).setMaxBufferedDocs(4));
- ((LogMergePolicy) writer.getConfig().getMergePolicy()).setMergeFactor(4);
+ IndexWriter writer = newWriter(
+ dir,
+ newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()).
+ setOpenMode(OpenMode.APPEND).
+ setMaxBufferedDocs(4).
+ setMergePolicy(newLogMergePolicy(4))
+ );
- writer.addIndexes(new Directory[] { aux, new MockDirectoryWrapper(random, new RAMDirectory(aux)) });
+ writer.addIndexes(aux, new MockDirectoryWrapper(random, new RAMDirectory(aux)));
assertEquals(1060, writer.maxDoc());
assertEquals(1000, writer.getDocCount(0));
writer.close();
@@ -416,11 +441,14 @@ public class TestAddIndexes extends Luce
setUpDirs(dir, aux);
- IndexWriter writer = newWriter(aux2, newIndexWriterConfig(
- TEST_VERSION_CURRENT, new MockAnalyzer())
- .setOpenMode(OpenMode.CREATE).setMaxBufferedDocs(100));
- ((LogMergePolicy) writer.getConfig().getMergePolicy()).setMergeFactor(10);
- writer.addIndexes(new Directory[] { aux });
+ IndexWriter writer = newWriter(
+ aux2,
+ newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()).
+ setOpenMode(OpenMode.CREATE).
+ setMaxBufferedDocs(100).
+ setMergePolicy(newLogMergePolicy(10))
+ );
+ writer.addIndexes(aux);
assertEquals(30, writer.maxDoc());
assertEquals(3, writer.getSegmentCount());
writer.close();
@@ -439,11 +467,15 @@ public class TestAddIndexes extends Luce
assertEquals(22, reader.numDocs());
reader.close();
- writer = newWriter(dir, newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer())
- .setOpenMode(OpenMode.APPEND).setMaxBufferedDocs(6));
- ((LogMergePolicy) writer.getConfig().getMergePolicy()).setMergeFactor(4);
+ writer = newWriter(
+ dir,
+ newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()).
+ setOpenMode(OpenMode.APPEND).
+ setMaxBufferedDocs(6).
+ setMergePolicy(newLogMergePolicy(4))
+ );
- writer.addIndexes(new Directory[] { aux, aux2 });
+ writer.addIndexes(aux, aux2);
assertEquals(1060, writer.maxDoc());
assertEquals(1000, writer.getDocCount(0));
writer.close();
@@ -505,18 +537,24 @@ public class TestAddIndexes extends Luce
assertEquals(1, writer.getSegmentCount());
writer.close();
- writer = newWriter(aux, newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()).setOpenMode(OpenMode.CREATE).setMaxBufferedDocs(100));
- ((LogMergePolicy) writer.getConfig().getMergePolicy()).setUseCompoundFile(false); // use one without a compound file
- ((LogMergePolicy) writer.getConfig().getMergePolicy()).setUseCompoundDocStore(false); // use one without a compound file
- ((LogMergePolicy) writer.getConfig().getMergePolicy()).setMergeFactor(10);
+ writer = newWriter(
+ aux,
+ newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()).
+ setOpenMode(OpenMode.CREATE).
+ setMaxBufferedDocs(1000).
+ setMergePolicy(newLogMergePolicy(false, 10))
+ );
// add 30 documents in 3 segments
for (int i = 0; i < 3; i++) {
addDocs(writer, 10);
writer.close();
- writer = newWriter(aux, newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()).setOpenMode(OpenMode.APPEND).setMaxBufferedDocs(100));
- ((LogMergePolicy) writer.getConfig().getMergePolicy()).setUseCompoundFile(false); // use one without a compound file
- ((LogMergePolicy) writer.getConfig().getMergePolicy()).setUseCompoundDocStore(false); // use one without a compound file
- ((LogMergePolicy) writer.getConfig().getMergePolicy()).setMergeFactor(10);
+ writer = newWriter(
+ aux,
+ newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()).
+ setOpenMode(OpenMode.APPEND).
+ setMaxBufferedDocs(1000).
+ setMergePolicy(newLogMergePolicy(false, 10))
+ );
}
assertEquals(30, writer.maxDoc());
assertEquals(3, writer.getSegmentCount());
@@ -563,7 +601,7 @@ public class TestAddIndexes extends Luce
writer = new IndexWriter(dir2, newIndexWriterConfig(TEST_VERSION_CURRENT,
new MockAnalyzer())
.setMergeScheduler(new SerialMergeScheduler()).setMergePolicy(lmp));
- writer.addIndexes(new Directory[] {dir});
+ writer.addIndexes(dir);
writer.close();
dir.close();
dir2.close();
@@ -850,7 +888,7 @@ public class TestAddIndexes extends Luce
}
c.launchThreads(-1);
- Thread.sleep(500);
+ Thread.sleep(_TestUtil.nextInt(random, 10, 500));
// Close w/o first stopping/joining the threads
if (VERBOSE) {
@@ -920,22 +958,26 @@ public class TestAddIndexes extends Luce
writer.close();
_TestUtil.checkIndex(dir, provider);
- writer = newWriter(aux, newIndexWriterConfig(TEST_VERSION_CURRENT,
- new MockAnalyzer()).setOpenMode(OpenMode.CREATE).setCodecProvider(
- provider));
- ((LogMergePolicy) writer.getConfig().getMergePolicy())
- .setUseCompoundFile(false); // use one without a compound file
- ((LogMergePolicy) writer.getConfig().getMergePolicy())
- .setUseCompoundDocStore(false); // use one without a compound file
+ writer = newWriter(
+ aux,
+ newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()).
+ setOpenMode(OpenMode.CREATE).
+ setCodecProvider(provider).
+ setMaxBufferedDocs(10).
+ setMergePolicy(newLogMergePolicy(false))
+ );
// add 40 documents in separate files
addDocs(writer, 40);
assertEquals(40, writer.maxDoc());
writer.commit();
writer.close();
- writer = newWriter(aux2, newIndexWriterConfig(TEST_VERSION_CURRENT,
- new MockAnalyzer()).setOpenMode(OpenMode.CREATE).setCodecProvider(
- provider));
+ writer = newWriter(
+ aux2,
+ newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()).
+ setOpenMode(OpenMode.CREATE).
+ setCodecProvider(provider)
+ );
// add 40 documents in compound files
addDocs2(writer, 50);
assertEquals(50, writer.maxDoc());
@@ -943,11 +985,14 @@ public class TestAddIndexes extends Luce
writer.close();
// test doc count before segments are merged
- writer = newWriter(dir, newIndexWriterConfig(TEST_VERSION_CURRENT,
- new MockAnalyzer()).setOpenMode(OpenMode.APPEND).setCodecProvider(
- provider));
+ writer = newWriter(
+ dir,
+ newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()).
+ setOpenMode(OpenMode.APPEND).
+ setCodecProvider(provider)
+ );
assertEquals(100, writer.maxDoc());
- writer.addIndexes(new Directory[] { aux, aux2 });
+ writer.addIndexes(aux, aux2);
assertEquals(190, writer.maxDoc());
writer.close();
_TestUtil.checkIndex(dir, provider);
Modified: lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/index/TestBackwardsCompatibility.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/index/TestBackwardsCompatibility.java?rev=1042501&r1=1042500&r2=1042501&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/index/TestBackwardsCompatibility.java (original)
+++ lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/index/TestBackwardsCompatibility.java Mon Dec 6 00:47:16 2010
@@ -235,7 +235,7 @@ public class TestBackwardsCompatibility
Directory targetDir = newDirectory();
IndexWriter w = new IndexWriter(targetDir, newIndexWriterConfig(
TEST_VERSION_CURRENT, new MockAnalyzer()));
- w.addIndexes(new Directory[] { dir });
+ w.addIndexes(dir);
w.close();
_TestUtil.checkIndex(targetDir);
@@ -256,7 +256,7 @@ public class TestBackwardsCompatibility
Directory targetDir = newDirectory();
IndexWriter w = new IndexWriter(targetDir, newIndexWriterConfig(
TEST_VERSION_CURRENT, new MockAnalyzer()));
- w.addIndexes(new IndexReader[] { reader });
+ w.addIndexes(reader);
w.close();
reader.close();
@@ -527,9 +527,13 @@ public class TestBackwardsCompatibility
try {
Directory dir = FSDirectory.open(new File(fullDir(outputDir)));
- IndexWriter writer = new IndexWriter(dir, newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()).setMaxBufferedDocs(-1).setRAMBufferSizeMB(16.0));
- ((LogMergePolicy) writer.getMergePolicy()).setUseCompoundFile(true);
- ((LogMergePolicy) writer.getMergePolicy()).setMergeFactor(10);
+ IndexWriter writer = new IndexWriter(
+ dir,
+ newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()).
+ setMaxBufferedDocs(-1).
+ setRAMBufferSizeMB(16.0).
+ setMergePolicy(newLogMergePolicy(true, 10))
+ );
for(int i=0;i<35;i++) {
addDoc(writer, i);
}
Modified: lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/index/TestConcurrentMergeScheduler.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/index/TestConcurrentMergeScheduler.java?rev=1042501&r1=1042500&r2=1042501&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/index/TestConcurrentMergeScheduler.java (original)
+++ lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/index/TestConcurrentMergeScheduler.java Mon Dec 6 00:47:16 2010
@@ -184,8 +184,12 @@ public class TestConcurrentMergeSchedule
Field idField = newField("id", "", Field.Store.YES, Field.Index.NOT_ANALYZED);
doc.add(idField);
- IndexWriter writer = new IndexWriter(directory, newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()).setMaxBufferedDocs(2));
- ((LogMergePolicy) writer.getConfig().getMergePolicy()).setMergeFactor(100);
+ IndexWriter writer = new IndexWriter(
+ directory,
+ newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()).
+ setMaxBufferedDocs(2).
+ setMergePolicy(newLogMergePolicy(100))
+ );
for(int iter=0;iter<10;iter++) {
@@ -213,8 +217,12 @@ public class TestConcurrentMergeSchedule
reader.close();
// Reopen
- writer = new IndexWriter(directory, newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()).setOpenMode(OpenMode.APPEND));
- ((LogMergePolicy) writer.getConfig().getMergePolicy()).setMergeFactor(100);
+ writer = new IndexWriter(
+ directory,
+ newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()).
+ setOpenMode(OpenMode.APPEND).
+ setMergePolicy(newLogMergePolicy(100))
+ );
}
writer.close();
Modified: lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/index/TestDeletionPolicy.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/index/TestDeletionPolicy.java?rev=1042501&r1=1042500&r2=1042501&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/index/TestDeletionPolicy.java (original)
+++ lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/index/TestDeletionPolicy.java Mon Dec 6 00:47:16 2010
@@ -373,10 +373,13 @@ public class TestDeletionPolicy extends
Directory dir = newDirectory();
policy.dir = dir;
- IndexWriter writer = new IndexWriter(dir, newIndexWriterConfig(
- TEST_VERSION_CURRENT, new MockAnalyzer())
- .setIndexDeletionPolicy(policy).setMaxBufferedDocs(2));
- ((LogMergePolicy) writer.getMergePolicy()).setMergeFactor(10);
+ IndexWriter writer = new IndexWriter(
+ dir,
+ newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()).
+ setIndexDeletionPolicy(policy).
+ setMaxBufferedDocs(2).
+ setMergePolicy(newLogMergePolicy(10))
+ );
for(int i=0;i<10;i++) {
addDoc(writer);
if ((1+i)%2 == 0)
Modified: lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/index/TestDoc.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/index/TestDoc.java?rev=1042501&r1=1042500&r2=1042501&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/index/TestDoc.java (original)
+++ lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/index/TestDoc.java Mon Dec 6 00:47:16 2010
@@ -24,8 +24,7 @@ import java.io.PrintWriter;
import java.io.StringWriter;
import java.util.LinkedList;
-import java.util.List;
-import java.util.Random;
+import java.util.Collection;
import junit.framework.TestSuite;
import junit.textui.TestRunner;
@@ -112,10 +111,13 @@ public class TestDoc extends LuceneTestC
PrintWriter out = new PrintWriter(sw, true);
Directory directory = FSDirectory.open(indexDir);
- IndexWriter writer = new IndexWriter(directory, newIndexWriterConfig(
- TEST_VERSION_CURRENT, new MockAnalyzer())
- .setOpenMode(OpenMode.CREATE).setMaxBufferedDocs(-1));
- ((LogMergePolicy) writer.getMergePolicy()).setMergeFactor(10);
+ IndexWriter writer = new IndexWriter(
+ directory,
+ newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()).
+ setOpenMode(OpenMode.CREATE).
+ setMaxBufferedDocs(-1).
+ setMergePolicy(newLogMergePolicy(10))
+ );
SegmentInfo si1 = indexDoc(writer, "test.txt");
printSegment(out, si1);
@@ -143,10 +145,13 @@ public class TestDoc extends LuceneTestC
out = new PrintWriter(sw, true);
directory = FSDirectory.open(indexDir);
- writer = new IndexWriter(directory, newIndexWriterConfig(
- TEST_VERSION_CURRENT, new MockAnalyzer())
- .setOpenMode(OpenMode.CREATE).setMaxBufferedDocs(-1));
- ((LogMergePolicy) writer.getMergePolicy()).setMergeFactor(10);
+ writer = new IndexWriter(
+ directory,
+ newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()).
+ setOpenMode(OpenMode.CREATE).
+ setMaxBufferedDocs(-1).
+ setMergePolicy(newLogMergePolicy(10))
+ );
si1 = indexDoc(writer, "test.txt");
printSegment(out, si1);
@@ -189,18 +194,19 @@ public class TestDoc extends LuceneTestC
SegmentReader r1 = SegmentReader.get(true, si1, IndexReader.DEFAULT_TERMS_INDEX_DIVISOR);
SegmentReader r2 = SegmentReader.get(true, si2, IndexReader.DEFAULT_TERMS_INDEX_DIVISOR);
- SegmentMerger merger = new SegmentMerger(si1.dir, IndexWriter.DEFAULT_TERM_INDEX_INTERVAL, merged, null, CodecProvider.getDefault(), null);
+ SegmentMerger merger = new SegmentMerger(si1.dir, IndexWriterConfig.DEFAULT_TERM_INDEX_INTERVAL, merged, null, CodecProvider.getDefault(), null);
merger.add(r1);
merger.add(r2);
merger.merge();
- merger.closeReaders();
+ r1.close();
+ r2.close();
final SegmentInfo info = new SegmentInfo(merged, si1.docCount + si2.docCount, si1.dir,
useCompoundFile, -1, null, false, merger.hasProx(), merger.getSegmentCodecs());
if (useCompoundFile) {
- List<String> filesToDelete = merger.createCompoundFile(merged + ".cfs", info);
+ Collection<String> filesToDelete = merger.createCompoundFile(merged + ".cfs", info);
for (final String fileToDelete : filesToDelete)
si1.dir.deleteFile(fileToDelete);
}
Modified: lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/index/TestDocumentWriter.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/index/TestDocumentWriter.java?rev=1042501&r1=1042500&r2=1042501&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/index/TestDocumentWriter.java (original)
+++ lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/index/TestDocumentWriter.java Mon Dec 6 00:47:16 2010
@@ -314,7 +314,7 @@ public class TestDocumentWriter extends
_TestUtil.checkIndex(dir);
- SegmentReader reader = SegmentReader.getOnlySegmentReader(dir);
+ SegmentReader reader = getOnlySegmentReader(IndexReader.open(dir, false));
FieldInfos fi = reader.fieldInfos();
// f1
assertFalse("f1 should have no norms", reader.hasNorms("f1"));
Modified: lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/index/TestFieldsReader.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/index/TestFieldsReader.java?rev=1042501&r1=1042500&r2=1042501&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/index/TestFieldsReader.java (original)
+++ lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/index/TestFieldsReader.java Mon Dec 6 00:47:16 2010
@@ -19,10 +19,7 @@ package org.apache.lucene.index;
import java.io.File;
import java.io.IOException;
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
+import java.util.*;
import org.apache.lucene.analysis.MockAnalyzer;
import org.apache.lucene.document.Document;
@@ -429,6 +426,10 @@ public class TestFieldsReader extends Lu
return fsDir.createOutput(name);
}
@Override
+ public void sync(Collection<String> names) throws IOException {
+ fsDir.sync(names);
+ }
+ @Override
public void close() throws IOException {
fsDir.close();
}
Modified: lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/index/TestFilterIndexReader.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/index/TestFilterIndexReader.java?rev=1042501&r1=1042500&r2=1042501&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/index/TestFilterIndexReader.java (original)
+++ lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/index/TestFilterIndexReader.java Mon Dec 6 00:47:16 2010
@@ -19,8 +19,6 @@ package org.apache.lucene.index;
import org.apache.lucene.util.LuceneTestCase;
-import junit.framework.TestSuite;
-import junit.textui.TestRunner;
import org.apache.lucene.store.Directory;
import org.apache.lucene.analysis.MockAnalyzer;
@@ -109,7 +107,7 @@ public class TestFilterIndexReader exten
}
public TestReader(IndexReader reader) {
- super(reader);
+ super(new SlowMultiReaderWrapper(reader));
}
@Override
@@ -117,12 +115,6 @@ public class TestFilterIndexReader exten
return new TestFields(super.fields());
}
}
-
-
- /** Main for running test case by itself. */
- public static void main(String args[]) {
- TestRunner.run (new TestSuite(TestIndexReader.class));
- }
/**
* Tests the IndexReader.getFieldNames implementation
@@ -146,7 +138,6 @@ public class TestFilterIndexReader exten
writer.close();
- //IndexReader reader = new TestReader(IndexReader.open(directory, true));
Directory target = newDirectory();
writer = new IndexWriter(target, newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()));
IndexReader reader = new TestReader(IndexReader.open(directory, true));
@@ -155,9 +146,6 @@ public class TestFilterIndexReader exten
reader.close();
reader = IndexReader.open(target, true);
-
- assertTrue(reader.isOptimized());
-
TermsEnum terms = MultiFields.getTerms(reader, "default").iterator();
while (terms.next() != null) {
assertTrue(terms.term().utf8ToString().indexOf('e') != -1);
Modified: lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/index/TestFlex.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/index/TestFlex.java?rev=1042501&r1=1042500&r2=1042501&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/index/TestFlex.java (original)
+++ lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/index/TestFlex.java Mon Dec 6 00:47:16 2010
@@ -30,12 +30,14 @@ public class TestFlex extends LuceneTest
final int DOC_COUNT = 177;
- IndexWriter w = new IndexWriter(d, new MockAnalyzer(),
- IndexWriter.MaxFieldLength.UNLIMITED);
+ IndexWriter w = new IndexWriter(
+ d,
+ new IndexWriterConfig(Version.LUCENE_31, new MockAnalyzer()).
+ setMaxBufferedDocs(7)
+ );
for(int iter=0;iter<2;iter++) {
if (iter == 0) {
- w.setMaxBufferedDocs(7);
Document doc = new Document();
doc.add(newField("field1", "this is field1", Field.Store.NO, Field.Index.ANALYZED));
doc.add(newField("field2", "this is field2", Field.Store.NO, Field.Index.ANALYZED));
Modified: lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/index/TestIndexFileDeleter.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/index/TestIndexFileDeleter.java?rev=1042501&r1=1042500&r2=1042501&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/index/TestIndexFileDeleter.java (original)
+++ lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/index/TestIndexFileDeleter.java Mon Dec 6 00:47:16 2010
@@ -40,11 +40,12 @@ public class TestIndexFileDeleter extend
public void testDeleteLeftoverFiles() throws IOException {
MockDirectoryWrapper dir = newDirectory();
dir.setPreventDoubleWrite(false);
- IndexWriter writer = new IndexWriter(dir, newIndexWriterConfig(
- TEST_VERSION_CURRENT, new MockAnalyzer())
- .setMaxBufferedDocs(10));
- ((LogMergePolicy) writer.getMergePolicy()).setMergeFactor(10);
- ((LogMergePolicy) writer.getMergePolicy()).setUseCompoundFile(true);
+ IndexWriter writer = new IndexWriter(
+ dir,
+ newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()).
+ setMaxBufferedDocs(10).
+ setMergePolicy(newLogMergePolicy(true, 10))
+ );
int i;
for(i=0;i<35;i++) {
addDoc(writer, i);
Modified: lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/index/TestIndexReader.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/index/TestIndexReader.java?rev=1042501&r1=1042500&r2=1042501&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/index/TestIndexReader.java (original)
+++ lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/index/TestIndexReader.java Mon Dec 6 00:47:16 2010
@@ -146,8 +146,10 @@ public class TestIndexReader extends Luc
public void testGetFieldNames() throws Exception {
Directory d = newDirectory();
// set up writer
- IndexWriter writer = new IndexWriter(d, newIndexWriterConfig(
- TEST_VERSION_CURRENT, new MockAnalyzer()));
+ IndexWriter writer = new IndexWriter(
+ d,
+ newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer())
+ );
Document doc = new Document();
doc.add(new Field("keyword","test1", Field.Store.YES, Field.Index.NOT_ANALYZED));
@@ -166,8 +168,12 @@ public class TestIndexReader extends Luc
assertTrue(fieldNames.contains("unstored"));
reader.close();
// add more documents
- writer = new IndexWriter(d, newIndexWriterConfig(TEST_VERSION_CURRENT,
- new MockAnalyzer()).setOpenMode(OpenMode.APPEND));
+ writer = new IndexWriter(
+ d,
+ newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()).
+ setOpenMode(OpenMode.APPEND).
+ setMergePolicy(newLogMergePolicy())
+ );
// want to get some more segments here
int mergeFactor = ((LogMergePolicy) writer.getConfig().getMergePolicy()).getMergeFactor();
for (int i = 0; i < 5*mergeFactor; i++) {
@@ -261,8 +267,11 @@ public class TestIndexReader extends Luc
public void testTermVectors() throws Exception {
Directory d = newDirectory();
// set up writer
- IndexWriter writer = new IndexWriter(d, newIndexWriterConfig(
- TEST_VERSION_CURRENT, new MockAnalyzer()));
+ IndexWriter writer = new IndexWriter(
+ d,
+ newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()).
+ setMergePolicy(newLogMergePolicy())
+ );
// want to get some more segments here
// new termvector fields
int mergeFactor = ((LogMergePolicy) writer.getConfig().getMergePolicy()).getMergeFactor();
@@ -566,9 +575,11 @@ public class TestIndexReader extends Luc
Term searchTerm = new Term("content", "aaa");
// add 1 documents with term : aaa
- writer = new IndexWriter(dir, newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()));
- ((LogMergePolicy) writer.getConfig().getMergePolicy()).setUseCompoundFile(false);
- ((LogMergePolicy) writer.getConfig().getMergePolicy()).setUseCompoundDocStore(false);
+ writer = new IndexWriter(
+ dir,
+ newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()).
+ setMergePolicy(newLogMergePolicy(false))
+ );
addDoc(writer, searchTerm.text());
writer.close();
@@ -1151,22 +1162,20 @@ public class TestIndexReader extends Luc
w.commit();
doc.add(newField("f", "who", Field.Store.NO, Field.Index.NOT_ANALYZED));
w.addDocument(doc);
- IndexReader r = w.getReader();
- IndexReader wr = SlowMultiReaderWrapper.wrap(r);
+ IndexReader r = new SlowMultiReaderWrapper(w.getReader());
w.close();
- assertNull(wr.getDeletedDocs());
+ assertNull(r.getDeletedDocs());
r.close();
- r = IndexReader.open(dir, false);
- wr = SlowMultiReaderWrapper.wrap(r);
+ r = new SlowMultiReaderWrapper(IndexReader.open(dir, false));
- assertNull(wr.getDeletedDocs());
+ assertNull(r.getDeletedDocs());
assertEquals(1, r.deleteDocuments(new Term("f", "doctor")));
- assertNotNull(wr.getDeletedDocs());
- assertTrue(wr.getDeletedDocs().get(0));
+ assertNotNull(r.getDeletedDocs());
+ assertTrue(r.getDeletedDocs().get(0));
assertEquals(1, r.deleteDocuments(new Term("f", "who")));
- assertTrue(wr.getDeletedDocs().get(1));
+ assertTrue(r.getDeletedDocs().get(1));
r.close();
dir.close();
}
@@ -1412,10 +1421,12 @@ public class TestIndexReader extends Luc
Directory d = newDirectory();
// set up writer
- IndexWriter writer = new IndexWriter(d, newIndexWriterConfig(
- TEST_VERSION_CURRENT, new MockAnalyzer())
- .setMaxBufferedDocs(2));
- ((LogMergePolicy) writer.getMergePolicy()).setMergeFactor(10);
+ IndexWriter writer = new IndexWriter(
+ d,
+ newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()).
+ setMaxBufferedDocs(2).
+ setMergePolicy(newLogMergePolicy(10))
+ );
for(int i=0;i<27;i++)
addDocumentWithFields(writer);
writer.close();
@@ -1430,10 +1441,13 @@ public class TestIndexReader extends Luc
assertTrue(c.equals(r.getIndexCommit()));
// Change the index
- writer = new IndexWriter(d, newIndexWriterConfig(TEST_VERSION_CURRENT,
- new MockAnalyzer()).setOpenMode(
- OpenMode.APPEND).setMaxBufferedDocs(2));
- ((LogMergePolicy) writer.getMergePolicy()).setMergeFactor(10);
+ writer = new IndexWriter(
+ d,
+ newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()).
+ setOpenMode(OpenMode.APPEND).
+ setMaxBufferedDocs(2).
+ setMergePolicy(newLogMergePolicy(10))
+ );
for(int i=0;i<7;i++)
addDocumentWithFields(writer);
writer.close();
@@ -1473,11 +1487,13 @@ public class TestIndexReader extends Luc
} catch (UnsupportedOperationException uoe) {
// expected
}
-
- writer = new IndexWriter(d, newIndexWriterConfig(TEST_VERSION_CURRENT,
- new MockAnalyzer())
- .setOpenMode(OpenMode.APPEND));
- ((LogMergePolicy) writer.getMergePolicy()).setMergeFactor(10);
+
+ writer = new IndexWriter(
+ d,
+ newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()).
+ setOpenMode(OpenMode.APPEND).
+ setMergePolicy(newLogMergePolicy(10))
+ );
addDocumentWithFields(writer);
writer.close();
@@ -1621,7 +1637,7 @@ public class TestIndexReader extends Luc
writer.close();
// Open reader
- IndexReader r = SegmentReader.getOnlySegmentReader(dir);
+ IndexReader r = getOnlySegmentReader(IndexReader.open(dir, false));
final int[] ints = FieldCache.DEFAULT.getInts(r, "number");
assertEquals(1, ints.length);
assertEquals(17, ints[0]);
@@ -1645,16 +1661,19 @@ public class TestIndexReader extends Luc
// FieldCache
public void testFieldCacheReuseAfterReopen() throws Exception {
Directory dir = newDirectory();
- IndexWriter writer = new IndexWriter(dir, newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()));
+ IndexWriter writer = new IndexWriter(
+ dir,
+ newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()).
+ setMergePolicy(newLogMergePolicy(10))
+ );
Document doc = new Document();
doc.add(newField("number", "17", Field.Store.NO, Field.Index.NOT_ANALYZED));
- ((LogMergePolicy) writer.getMergePolicy()).setMergeFactor(10);
writer.addDocument(doc);
writer.commit();
// Open reader1
IndexReader r = IndexReader.open(dir, false);
- IndexReader r1 = SegmentReader.getOnlySegmentReader(r);
+ IndexReader r1 = getOnlySegmentReader(r);
final int[] ints = FieldCache.DEFAULT.getInts(r1, "number");
assertEquals(1, ints.length);
assertEquals(17, ints[0]);
@@ -1678,8 +1697,12 @@ public class TestIndexReader extends Luc
// reopen switches readOnly
public void testReopenChangeReadonly() throws Exception {
Directory dir = newDirectory();
- IndexWriter writer = new IndexWriter(dir, newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()).setMaxBufferedDocs(-1));
- ((LogMergePolicy) writer.getConfig().getMergePolicy()).setMergeFactor(10);
+ IndexWriter writer = new IndexWriter(
+ dir,
+ newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()).
+ setMaxBufferedDocs(-1).
+ setMergePolicy(newLogMergePolicy(10))
+ );
Document doc = new Document();
doc.add(newField("number", "17", Field.Store.NO, Field.Index.NOT_ANALYZED));
writer.addDocument(doc);
@@ -1688,7 +1711,7 @@ public class TestIndexReader extends Luc
// Open reader1
IndexReader r = IndexReader.open(dir, false);
assertTrue(r instanceof DirectoryReader);
- IndexReader r1 = SegmentReader.getOnlySegmentReader(r);
+ IndexReader r1 = getOnlySegmentReader(r);
final int[] ints = FieldCache.DEFAULT.getInts(r1, "number");
assertEquals(1, ints.length);
assertEquals(17, ints[0]);
@@ -1729,7 +1752,7 @@ public class TestIndexReader extends Luc
writer.commit();
IndexReader r = IndexReader.open(dir, false);
- IndexReader r1 = SegmentReader.getOnlySegmentReader(r);
+ IndexReader r1 = getOnlySegmentReader(r);
assertEquals(36, r1.getUniqueTermCount());
writer.addDocument(doc);
writer.commit();
@@ -1770,8 +1793,12 @@ public class TestIndexReader extends Luc
}
assertEquals(-1, ((SegmentReader) r.getSequentialSubReaders()[0]).getTermInfosIndexDivisor());
- writer = new IndexWriter(dir, newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()).setCodecProvider(_TestUtil.alwaysCodec("Standard")));
- ((LogMergePolicy) writer.getMergePolicy()).setMergeFactor(10);
+ writer = new IndexWriter(
+ dir,
+ newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()).
+ setCodecProvider(_TestUtil.alwaysCodec("Standard")).
+ setMergePolicy(newLogMergePolicy(10))
+ );
writer.addDocument(doc);
writer.close();
Modified: lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/index/TestIndexReaderClone.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/index/TestIndexReaderClone.java?rev=1042501&r1=1042500&r2=1042501&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/index/TestIndexReaderClone.java (original)
+++ lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/index/TestIndexReaderClone.java Mon Dec 6 00:47:16 2010
@@ -302,7 +302,7 @@ public class TestIndexReaderClone extend
IndexReader r1 = IndexReader.open(dir1, false);
IndexReader r2 = IndexReader.open(dir2, false);
- MultiReader multiReader = new MultiReader(new IndexReader[] { r1, r2 });
+ MultiReader multiReader = new MultiReader(r1, r2);
performDefaultTests(multiReader);
multiReader.close();
dir1.close();
@@ -312,7 +312,7 @@ public class TestIndexReaderClone extend
public void testSegmentReaderUndeleteall() throws Exception {
final Directory dir1 = newDirectory();
TestIndexReaderReopen.createIndex(random, dir1, false);
- SegmentReader origSegmentReader = SegmentReader.getOnlySegmentReader(dir1);
+ SegmentReader origSegmentReader = getOnlySegmentReader(IndexReader.open(dir1, false));
origSegmentReader.deleteDocument(10);
assertDelDocsRefCountEquals(1, origSegmentReader);
origSegmentReader.undeleteAll();
@@ -325,7 +325,7 @@ public class TestIndexReaderClone extend
public void testSegmentReaderCloseReferencing() throws Exception {
final Directory dir1 = newDirectory();
TestIndexReaderReopen.createIndex(random, dir1, false);
- SegmentReader origSegmentReader = SegmentReader.getOnlySegmentReader(dir1);
+ SegmentReader origSegmentReader = getOnlySegmentReader(IndexReader.open(dir1, false));
origSegmentReader.deleteDocument(1);
origSegmentReader.setNorm(4, "field1", 0.5f);
@@ -346,7 +346,7 @@ public class TestIndexReaderClone extend
TestIndexReaderReopen.createIndex(random, dir1, false);
IndexReader origReader = IndexReader.open(dir1, false);
- SegmentReader origSegmentReader = SegmentReader.getOnlySegmentReader(origReader);
+ SegmentReader origSegmentReader = getOnlySegmentReader(origReader);
// deletedDocsRef should be null because nothing has updated yet
assertNull(origSegmentReader.deletedDocsRef);
@@ -358,7 +358,7 @@ public class TestIndexReaderClone extend
// the cloned segmentreader should have 2 references, 1 to itself, and 1 to
// the original segmentreader
IndexReader clonedReader = (IndexReader) origReader.clone();
- SegmentReader clonedSegmentReader = SegmentReader.getOnlySegmentReader(clonedReader);
+ SegmentReader clonedSegmentReader = getOnlySegmentReader(clonedReader);
assertDelDocsRefCountEquals(2, origSegmentReader);
// deleting a document creates a new deletedDocs bitvector, the refs goes to
// 1
@@ -395,7 +395,7 @@ public class TestIndexReaderClone extend
// test a reopened reader
IndexReader reopenedReader = clonedReader.reopen();
IndexReader cloneReader2 = (IndexReader) reopenedReader.clone();
- SegmentReader cloneSegmentReader2 = SegmentReader.getOnlySegmentReader(cloneReader2);
+ SegmentReader cloneSegmentReader2 = getOnlySegmentReader(cloneReader2);
assertDelDocsRefCountEquals(2, cloneSegmentReader2);
clonedReader.close();
reopenedReader.close();
@@ -490,10 +490,11 @@ public class TestIndexReaderClone extend
public void testCloseStoredFields() throws Exception {
final Directory dir = newDirectory();
- IndexWriter w = new IndexWriter(dir, newIndexWriterConfig(
- TEST_VERSION_CURRENT, new MockAnalyzer()));
- ((LogMergePolicy) w.getConfig().getMergePolicy()).setUseCompoundFile(false);
- ((LogMergePolicy) w.getConfig().getMergePolicy()).setUseCompoundDocStore(false);
+ IndexWriter w = new IndexWriter(
+ dir,
+ newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()).
+ setMergePolicy(newLogMergePolicy(false))
+ );
Document doc = new Document();
doc.add(newField("field", "yes it's stored", Field.Store.YES, Field.Index.ANALYZED));
w.addDocument(doc);
Modified: lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/index/TestIndexReaderCloneNorms.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/index/TestIndexReaderCloneNorms.java?rev=1042501&r1=1042500&r2=1042501&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/index/TestIndexReaderCloneNorms.java (original)
+++ lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/index/TestIndexReaderCloneNorms.java Mon Dec 6 00:47:16 2010
@@ -109,11 +109,14 @@ public class TestIndexReaderCloneNorms e
Directory dir3 = FSDirectory.open(indexDir3);
createIndex(random, dir3);
- IndexWriter iw = new IndexWriter(dir3, newIndexWriterConfig(
- TEST_VERSION_CURRENT, anlzr).setOpenMode(OpenMode.APPEND)
- .setMaxBufferedDocs(5));
- ((LogMergePolicy) iw.getConfig().getMergePolicy()).setMergeFactor(3);
- iw.addIndexes(new Directory[] { dir1, dir2 });
+ IndexWriter iw = new IndexWriter(
+ dir3,
+ newIndexWriterConfig(TEST_VERSION_CURRENT, anlzr).
+ setOpenMode(OpenMode.APPEND).
+ setMaxBufferedDocs(5).
+ setMergePolicy(newLogMergePolicy(3))
+ );
+ iw.addIndexes(dir1, dir2);
iw.optimize();
iw.close();
@@ -128,9 +131,13 @@ public class TestIndexReaderCloneNorms e
doTestNorms(random, dir3);
// now with optimize
- iw = new IndexWriter(dir3, newIndexWriterConfig( TEST_VERSION_CURRENT,
- anlzr).setOpenMode(OpenMode.APPEND).setMaxBufferedDocs(5));
- ((LogMergePolicy) iw.getConfig().getMergePolicy()).setMergeFactor(3);
+ iw = new IndexWriter(
+ dir3,
+ newIndexWriterConfig(TEST_VERSION_CURRENT, anlzr).
+ setOpenMode(OpenMode.APPEND).
+ setMaxBufferedDocs(5).
+ setMergePolicy(newLogMergePolicy(3))
+ );
iw.optimize();
iw.close();
verifyIndex(dir3);
@@ -162,7 +169,7 @@ public class TestIndexReaderCloneNorms e
public void testNormsClose() throws IOException {
Directory dir1 = newDirectory();
TestIndexReaderReopen.createIndex(random, dir1, false);
- SegmentReader reader1 = SegmentReader.getOnlySegmentReader(dir1);
+ SegmentReader reader1 = getOnlySegmentReader(IndexReader.open(dir1, false));
reader1.norms("field1");
Norm r1norm = reader1.norms.get("field1");
AtomicInteger r1BytesRef = r1norm.bytesRef();
@@ -181,7 +188,7 @@ public class TestIndexReaderCloneNorms e
IndexReader reader1 = IndexReader.open(dir1, false);
IndexReader reader2C = (IndexReader) reader1.clone();
- SegmentReader segmentReader2C = SegmentReader.getOnlySegmentReader(reader2C);
+ SegmentReader segmentReader2C = getOnlySegmentReader(reader2C);
segmentReader2C.norms("field1"); // load the norms for the field
Norm reader2CNorm = segmentReader2C.norms.get("field1");
assertTrue("reader2CNorm.bytesRef()=" + reader2CNorm.bytesRef(), reader2CNorm.bytesRef().get() == 2);
@@ -189,13 +196,13 @@ public class TestIndexReaderCloneNorms e
IndexReader reader3C = (IndexReader) reader2C.clone();
- SegmentReader segmentReader3C = SegmentReader.getOnlySegmentReader(reader3C);
+ SegmentReader segmentReader3C = getOnlySegmentReader(reader3C);
Norm reader3CCNorm = segmentReader3C.norms.get("field1");
assertEquals(3, reader3CCNorm.bytesRef().get());
// edit a norm and the refcount should be 1
IndexReader reader4C = (IndexReader) reader3C.clone();
- SegmentReader segmentReader4C = SegmentReader.getOnlySegmentReader(reader4C);
+ SegmentReader segmentReader4C = getOnlySegmentReader(reader4C);
assertEquals(4, reader3CCNorm.bytesRef().get());
reader4C.setNorm(5, "field1", 0.33f);
@@ -215,7 +222,7 @@ public class TestIndexReaderCloneNorms e
assertEquals(1, reader4CCNorm.bytesRef().get());
IndexReader reader5C = (IndexReader) reader4C.clone();
- SegmentReader segmentReader5C = SegmentReader.getOnlySegmentReader(reader5C);
+ SegmentReader segmentReader5C = getOnlySegmentReader(reader5C);
Norm reader5CCNorm = segmentReader5C.norms.get("field1");
reader5C.setNorm(5, "field1", 0.7f);
assertEquals(1, reader5CCNorm.bytesRef().get());
Modified: lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/index/TestIndexReaderReopen.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/index/TestIndexReaderReopen.java?rev=1042501&r1=1042500&r2=1042501&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/index/TestIndexReaderReopen.java (original)
+++ lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/index/TestIndexReaderReopen.java Mon Dec 6 00:47:16 2010
@@ -45,7 +45,6 @@ import org.apache.lucene.store.AlreadyCl
import org.apache.lucene.util.LuceneTestCase;
import org.apache.lucene.util.BitVector;
import org.apache.lucene.util.Bits;
-import org.apache.lucene.util.LuceneTestCase;
public class TestIndexReaderReopen extends LuceneTestCase {
@@ -231,9 +230,8 @@ public class TestIndexReaderReopen exten
@Override
protected IndexReader openReader() throws IOException {
- return new MultiReader(new IndexReader[]
- {IndexReader.open(dir1, false),
- IndexReader.open(dir2, false)});
+ return new MultiReader(IndexReader.open(dir1, false),
+ IndexReader.open(dir2, false));
}
});
@@ -257,12 +255,11 @@ public class TestIndexReaderReopen exten
@Override
protected IndexReader openReader() throws IOException {
- return new MultiReader(new IndexReader[]
- {IndexReader.open(dir3, false),
- IndexReader.open(dir4, false),
- // Does not implement reopen, so
- // hits exception:
- new FilterIndexReader(IndexReader.open(dir3, false))});
+ return new MultiReader(IndexReader.open(dir3, false),
+ IndexReader.open(dir4, false),
+ // Does not implement reopen, so
+ // hits exception:
+ new FilterIndexReader(IndexReader.open(dir3, false)));
}
});
@@ -298,10 +295,8 @@ public class TestIndexReaderReopen exten
ParallelReader pr = new ParallelReader();
pr.add(IndexReader.open(dir1, false));
pr.add(IndexReader.open(dir2, false));
- MultiReader mr = new MultiReader(new IndexReader[] {
- IndexReader.open(dir3, false), IndexReader.open(dir4, false)});
- return new MultiReader(new IndexReader[] {
- pr, mr, IndexReader.open(dir5, false)});
+ MultiReader mr = new MultiReader(IndexReader.open(dir3, false), IndexReader.open(dir4, false));
+ return new MultiReader(pr, mr, IndexReader.open(dir5, false));
}
});
dir1.close();
@@ -613,7 +608,7 @@ public class TestIndexReaderReopen exten
createIndex(random, dir1, false);
IndexReader reader1 = IndexReader.open(dir1, false);
- SegmentReader segmentReader1 = SegmentReader.getOnlySegmentReader(reader1);
+ SegmentReader segmentReader1 = getOnlySegmentReader(reader1);
IndexReader modifier = IndexReader.open(dir1, false);
modifier.deleteDocument(0);
modifier.close();
@@ -625,7 +620,7 @@ public class TestIndexReaderReopen exten
modifier.close();
IndexReader reader3 = reader2.reopen();
- SegmentReader segmentReader3 = SegmentReader.getOnlySegmentReader(reader3);
+ SegmentReader segmentReader3 = getOnlySegmentReader(reader3);
modifier = IndexReader.open(dir1, false);
modifier.deleteDocument(2);
modifier.close();
@@ -1168,7 +1163,7 @@ public class TestIndexReaderReopen exten
IndexReader[] rs2 = r2.getSequentialSubReaders();
- SegmentReader sr1 = SegmentReader.getOnlySegmentReader(r1);
+ SegmentReader sr1 = getOnlySegmentReader(r1);
SegmentReader sr2 = (SegmentReader) rs2[0];
// At this point they share the same BitVector
@@ -1191,9 +1186,13 @@ public class TestIndexReaderReopen exten
public void testReopenOnCommit() throws Throwable {
Directory dir = newDirectory();
- IndexWriter writer = new IndexWriter(dir, newIndexWriterConfig(
- TEST_VERSION_CURRENT, new MockAnalyzer()).setIndexDeletionPolicy(new KeepAllCommits()).setMaxBufferedDocs(-1));
- ((LogMergePolicy) writer.getConfig().getMergePolicy()).setMergeFactor(10);
+ IndexWriter writer = new IndexWriter(
+ dir,
+ newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()).
+ setIndexDeletionPolicy(new KeepAllCommits()).
+ setMaxBufferedDocs(-1).
+ setMergePolicy(newLogMergePolicy(10))
+ );
for(int i=0;i<4;i++) {
Document doc = new Document();
doc.add(newField("id", ""+i, Field.Store.NO, Field.Index.NOT_ANALYZED));
Modified: lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/index/TestIndexWriter.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/index/TestIndexWriter.java?rev=1042501&r1=1042500&r2=1042501&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/index/TestIndexWriter.java (original)
+++ lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/index/TestIndexWriter.java Mon Dec 6 00:47:16 2010
@@ -259,31 +259,48 @@ public class TestIndexWriter extends Luc
* required.
*/
public void testOptimizeTempSpaceUsage() throws IOException {
-
+
MockDirectoryWrapper dir = newDirectory();
IndexWriter writer = new IndexWriter(dir, newIndexWriterConfig( TEST_VERSION_CURRENT, new MockAnalyzer()).setMaxBufferedDocs(10));
-
+ if (VERBOSE) {
+ System.out.println("TEST: config1=" + writer.getConfig());
+ }
+
for(int j=0;j<500;j++) {
addDocWithIndex(writer, j);
}
+ final int termIndexInterval = writer.getConfig().getTermIndexInterval();
+ // force one extra segment w/ different doc store so
+ // we see the doc stores get merged
+ writer.commit();
+ addDocWithIndex(writer, 500);
writer.close();
+ if (VERBOSE) {
+ System.out.println("TEST: start disk usage");
+ }
long startDiskUsage = 0;
String[] files = dir.listAll();
for(int i=0;i<files.length;i++) {
startDiskUsage += dir.fileLength(files[i]);
+ if (VERBOSE) {
+ System.out.println(files[i] + ": " + dir.fileLength(files[i]));
+ }
}
dir.resetMaxUsedSizeInBytes();
dir.setTrackDiskUsage(true);
- writer = new IndexWriter(dir, newIndexWriterConfig( TEST_VERSION_CURRENT, new MockAnalyzer()).setOpenMode(OpenMode.APPEND));
+ // Import to use same term index interval else a
+ // smaller one here could increase the disk usage and
+ // cause a false failure:
+ writer = new IndexWriter(dir, newIndexWriterConfig( TEST_VERSION_CURRENT, new MockAnalyzer()).setOpenMode(OpenMode.APPEND).setTermIndexInterval(termIndexInterval));
+ writer.setInfoStream(VERBOSE ? System.out : null);
writer.optimize();
writer.close();
long maxDiskUsage = dir.getMaxUsedSizeInBytes();
-
- assertTrue("optimized used too much temporary space: starting usage was " + startDiskUsage + " bytes; max temp usage was " + maxDiskUsage + " but should have been " + (3*startDiskUsage) + " (= 3X starting usage)",
- maxDiskUsage <= 3*startDiskUsage);
+ assertTrue("optimize used too much temporary space: starting usage was " + startDiskUsage + " bytes; max temp usage was " + maxDiskUsage + " but should have been " + (4*startDiskUsage) + " (= 4X starting usage)",
+ maxDiskUsage <= 4*startDiskUsage);
dir.close();
}
@@ -478,8 +495,13 @@ public class TestIndexWriter extends Luc
*/
public void testCommitOnCloseDiskUsage() throws IOException {
MockDirectoryWrapper dir = newDirectory();
- IndexWriter writer = new IndexWriter(dir, newIndexWriterConfig( TEST_VERSION_CURRENT, new MockAnalyzer()).setMaxBufferedDocs(10).setReaderPooling(false));
- ((LogMergePolicy) writer.getMergePolicy()).setMergeFactor(10);
+ IndexWriter writer = new IndexWriter(
+ dir,
+ newIndexWriterConfig( TEST_VERSION_CURRENT, new MockAnalyzer()).
+ setMaxBufferedDocs(10).
+ setReaderPooling(false).
+ setMergePolicy(newLogMergePolicy(10))
+ );
for(int j=0;j<30;j++) {
addDocWithIndex(writer, j);
}
@@ -488,10 +510,16 @@ public class TestIndexWriter extends Luc
dir.setTrackDiskUsage(true);
long startDiskUsage = dir.getMaxUsedSizeInBytes();
- writer = new IndexWriter(dir, newIndexWriterConfig( TEST_VERSION_CURRENT, new MockAnalyzer())
- .setOpenMode(OpenMode.APPEND).setMaxBufferedDocs(10).setMergeScheduler(
- new SerialMergeScheduler()).setReaderPooling(false));
- ((LogMergePolicy) writer.getMergePolicy()).setMergeFactor(10);
+ writer = new IndexWriter(
+ dir,
+ newIndexWriterConfig( TEST_VERSION_CURRENT, new MockAnalyzer())
+ .setOpenMode(OpenMode.APPEND).
+ setMaxBufferedDocs(10).
+ setMergeScheduler(new SerialMergeScheduler()).
+ setReaderPooling(false).
+ setMergePolicy(newLogMergePolicy(10))
+
+ );
for(int j=0;j<1470;j++) {
addDocWithIndex(writer, j);
}
@@ -505,15 +533,15 @@ public class TestIndexWriter extends Luc
long endDiskUsage = dir.getMaxUsedSizeInBytes();
// Ending index is 50X as large as starting index; due
- // to 2X disk usage normally we allow 100X max
+ // to 3X disk usage normally we allow 150X max
// transient usage. If something is wrong w/ deleter
// and it doesn't delete intermediate segments then it
- // will exceed this 100X:
+ // will exceed this 150X:
// System.out.println("start " + startDiskUsage + "; mid " + midDiskUsage + ";end " + endDiskUsage);
- assertTrue("writer used too much space while adding documents: mid=" + midDiskUsage + " start=" + startDiskUsage + " end=" + endDiskUsage,
- midDiskUsage < 100*startDiskUsage);
- assertTrue("writer used too much space after close: endDiskUsage=" + endDiskUsage + " startDiskUsage=" + startDiskUsage,
- endDiskUsage < 100*startDiskUsage);
+ assertTrue("writer used too much space while adding documents: mid=" + midDiskUsage + " start=" + startDiskUsage + " end=" + endDiskUsage + " max=" + (startDiskUsage*150),
+ midDiskUsage < 150*startDiskUsage);
+ assertTrue("writer used too much space after close: endDiskUsage=" + endDiskUsage + " startDiskUsage=" + startDiskUsage + " max=" + (startDiskUsage*150),
+ endDiskUsage < 150*startDiskUsage);
dir.close();
}
@@ -529,8 +557,12 @@ public class TestIndexWriter extends Luc
// test uses IW.rollback which easily results in
// writing to same file more than once
dir.setPreventDoubleWrite(false);
- IndexWriter writer = new IndexWriter(dir, newIndexWriterConfig( TEST_VERSION_CURRENT, new MockAnalyzer()).setMaxBufferedDocs(10));
- ((LogMergePolicy) writer.getConfig().getMergePolicy()).setMergeFactor(10);
+ IndexWriter writer = new IndexWriter(
+ dir,
+ newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()).
+ setMaxBufferedDocs(10).
+ setMergePolicy(newLogMergePolicy(10))
+ );
for(int j=0;j<17;j++) {
addDocWithIndex(writer, j);
}
@@ -539,6 +571,10 @@ public class TestIndexWriter extends Luc
writer = new IndexWriter(dir, newIndexWriterConfig( TEST_VERSION_CURRENT, new MockAnalyzer()).setOpenMode(OpenMode.APPEND));
writer.optimize();
+ if (VERBOSE) {
+ writer.setInfoStream(System.out);
+ }
+
// Open a reader before closing (commiting) the writer:
IndexReader reader = IndexReader.open(dir, true);
@@ -558,9 +594,19 @@ public class TestIndexWriter extends Luc
assertFalse("Reader incorrectly sees that the index is optimized", reader.isOptimized());
reader.close();
- writer = new IndexWriter(dir, newIndexWriterConfig( TEST_VERSION_CURRENT, new MockAnalyzer()).setOpenMode(OpenMode.APPEND));
+ if (VERBOSE) {
+ System.out.println("TEST: do real optimize");
+ }
+ writer = new IndexWriter(dir, newIndexWriterConfig( TEST_VERSION_CURRENT, new MockAnalyzer()).setOpenMode(OpenMode.APPEND));
+ if (VERBOSE) {
+ writer.setInfoStream(System.out);
+ }
writer.optimize();
writer.close();
+
+ if (VERBOSE) {
+ System.out.println("TEST: writer closed");
+ }
assertNoUnreferencedFiles(dir, "aborted writer after optimize");
// Open a reader after aborting writer:
@@ -626,8 +672,12 @@ public class TestIndexWriter extends Luc
public void testSmallRAMBuffer() throws IOException {
MockDirectoryWrapper dir = newDirectory();
- IndexWriter writer = new IndexWriter(dir, newIndexWriterConfig( TEST_VERSION_CURRENT, new MockAnalyzer()).setRAMBufferSizeMB(0.000001));
- ((LogMergePolicy) writer.getMergePolicy()).setMergeFactor(10);
+ IndexWriter writer = new IndexWriter(
+ dir,
+ newIndexWriterConfig( TEST_VERSION_CURRENT, new MockAnalyzer()).
+ setRAMBufferSizeMB(0.000001).
+ setMergePolicy(newLogMergePolicy(10))
+ );
int lastNumFile = dir.listAll().length;
for(int j=0;j<9;j++) {
Document doc = new Document();
@@ -643,133 +693,6 @@ public class TestIndexWriter extends Luc
dir.close();
}
- /**
- * Make sure it's OK to change RAM buffer size and // maxBufferedDocs in a
- * write session
- *
- * @deprecated after all the setters on IW go away (4.0), this test can be
- * removed because changing ram buffer settings during a write
- * session won't be possible.
- */
- @Deprecated
- public void testChangingRAMBuffer() throws IOException {
- MockDirectoryWrapper dir = newDirectory();
- IndexWriter writer = new IndexWriter(dir, newIndexWriterConfig(
- TEST_VERSION_CURRENT, new MockAnalyzer()).setMaxBufferedDocs(10).setRAMBufferSizeMB(
- IndexWriterConfig.DISABLE_AUTO_FLUSH));
-
- int lastFlushCount = -1;
- for(int j=1;j<52;j++) {
- Document doc = new Document();
- doc.add(newField("field", "aaa" + j, Field.Store.YES, Field.Index.ANALYZED));
- writer.addDocument(doc);
- _TestUtil.syncConcurrentMerges(writer);
- int flushCount = writer.getFlushCount();
- if (j == 1)
- lastFlushCount = flushCount;
- else if (j < 10)
- // No new files should be created
- assertEquals(flushCount, lastFlushCount);
- else if (10 == j) {
- assertTrue(flushCount > lastFlushCount);
- lastFlushCount = flushCount;
- writer.setRAMBufferSizeMB(0.000001);
- writer.setMaxBufferedDocs(IndexWriterConfig.DISABLE_AUTO_FLUSH);
- } else if (j < 20) {
- assertTrue(flushCount > lastFlushCount);
- lastFlushCount = flushCount;
- } else if (20 == j) {
- writer.setRAMBufferSizeMB(16);
- writer.setMaxBufferedDocs(IndexWriterConfig.DISABLE_AUTO_FLUSH);
- lastFlushCount = flushCount;
- } else if (j < 30) {
- assertEquals(flushCount, lastFlushCount);
- } else if (30 == j) {
- writer.setRAMBufferSizeMB(0.000001);
- writer.setMaxBufferedDocs(IndexWriterConfig.DISABLE_AUTO_FLUSH);
- } else if (j < 40) {
- assertTrue(flushCount> lastFlushCount);
- lastFlushCount = flushCount;
- } else if (40 == j) {
- writer.setMaxBufferedDocs(10);
- writer.setRAMBufferSizeMB(IndexWriterConfig.DISABLE_AUTO_FLUSH);
- lastFlushCount = flushCount;
- } else if (j < 50) {
- assertEquals(flushCount, lastFlushCount);
- writer.setMaxBufferedDocs(10);
- writer.setRAMBufferSizeMB(IndexWriterConfig.DISABLE_AUTO_FLUSH);
- } else if (50 == j) {
- assertTrue(flushCount > lastFlushCount);
- }
- }
- writer.close();
- dir.close();
- }
-
- /**
- * @deprecated after setters on IW go away, this test can be deleted because
- * changing those settings on IW won't be possible.
- */
- @Deprecated
- public void testChangingRAMBuffer2() throws IOException {
- MockDirectoryWrapper dir = newDirectory();
- IndexWriter writer = new IndexWriter(dir, newIndexWriterConfig(
- TEST_VERSION_CURRENT, new MockAnalyzer()).setMaxBufferedDocs(10).setMaxBufferedDeleteTerms(
- 10).setRAMBufferSizeMB(IndexWriterConfig.DISABLE_AUTO_FLUSH));
-
- for(int j=1;j<52;j++) {
- Document doc = new Document();
- doc.add(newField("field", "aaa" + j, Field.Store.YES, Field.Index.ANALYZED));
- writer.addDocument(doc);
- }
-
- int lastFlushCount = -1;
- for(int j=1;j<52;j++) {
- writer.deleteDocuments(new Term("field", "aaa" + j));
- _TestUtil.syncConcurrentMerges(writer);
- int flushCount = writer.getFlushCount();
- if (j == 1)
- lastFlushCount = flushCount;
- else if (j < 10) {
- // No new files should be created
- assertEquals(flushCount, lastFlushCount);
- } else if (10 == j) {
- assertTrue(flushCount > lastFlushCount);
- lastFlushCount = flushCount;
- writer.setRAMBufferSizeMB(0.000001);
- writer.setMaxBufferedDeleteTerms(1);
- } else if (j < 20) {
- assertTrue(flushCount > lastFlushCount);
- lastFlushCount = flushCount;
- } else if (20 == j) {
- writer.setRAMBufferSizeMB(16);
- writer.setMaxBufferedDeleteTerms(IndexWriterConfig.DISABLE_AUTO_FLUSH);
- lastFlushCount = flushCount;
- } else if (j < 30) {
- assertEquals(flushCount, lastFlushCount);
- } else if (30 == j) {
- writer.setRAMBufferSizeMB(0.000001);
- writer.setMaxBufferedDeleteTerms(IndexWriterConfig.DISABLE_AUTO_FLUSH);
- writer.setMaxBufferedDeleteTerms(1);
- } else if (j < 40) {
- assertTrue(flushCount> lastFlushCount);
- lastFlushCount = flushCount;
- } else if (40 == j) {
- writer.setMaxBufferedDeleteTerms(10);
- writer.setRAMBufferSizeMB(IndexWriterConfig.DISABLE_AUTO_FLUSH);
- lastFlushCount = flushCount;
- } else if (j < 50) {
- assertEquals(flushCount, lastFlushCount);
- writer.setMaxBufferedDeleteTerms(10);
- writer.setRAMBufferSizeMB(IndexWriterConfig.DISABLE_AUTO_FLUSH);
- } else if (50 == j) {
- assertTrue(flushCount > lastFlushCount);
- }
- }
- writer.close();
- dir.close();
- }
-
public void testDiverseDocs() throws IOException {
MockDirectoryWrapper dir = newDirectory();
IndexWriter writer = new IndexWriter(dir, newIndexWriterConfig( TEST_VERSION_CURRENT, new MockAnalyzer()).setRAMBufferSizeMB(0.5));
@@ -937,11 +860,14 @@ public class TestIndexWriter extends Luc
public void testFlushWithNoMerging() throws IOException {
Directory dir = newDirectory();
- IndexWriter writer = new IndexWriter(dir, newIndexWriterConfig(
- TEST_VERSION_CURRENT, new MockAnalyzer()).setMaxBufferedDocs(2));
- ((LogMergePolicy) writer.getMergePolicy()).setMergeFactor(10);
+ IndexWriter writer = new IndexWriter(
+ dir,
+ newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()).
+ setMaxBufferedDocs(2).
+ setMergePolicy(newLogMergePolicy(10))
+ );
Document doc = new Document();
- doc.add(newField("field", "aaa", Field.Store.YES, Field.Index.ANALYZED, Field.TermVector.WITH_POSITIONS_OFFSETS));
+ doc.add(newField("field", "aaa", Store.YES, Index.ANALYZED, TermVector.WITH_POSITIONS_OFFSETS));
for(int i=0;i<19;i++)
writer.addDocument(doc);
writer.flush(false, true, true);
@@ -950,7 +876,7 @@ public class TestIndexWriter extends Luc
sis.read(dir);
// Since we flushed w/o allowing merging we should now
// have 10 segments
- assert sis.size() == 10;
+ assertEquals(10, sis.size());
dir.close();
}
@@ -979,12 +905,15 @@ public class TestIndexWriter extends Luc
Directory dir = newDirectory();
for(int pass=0;pass<2;pass++) {
- IndexWriter writer = new IndexWriter(dir, newIndexWriterConfig(
- TEST_VERSION_CURRENT, new MockAnalyzer())
- .setOpenMode(OpenMode.CREATE).setMaxBufferedDocs(2));
- ((LogMergePolicy) writer.getConfig().getMergePolicy()).setMergeFactor(101);
+ IndexWriter writer = new IndexWriter(
+ dir,
+ newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()).
+ setOpenMode(OpenMode.CREATE).
+ setMaxBufferedDocs(2).
+ setMergePolicy(newLogMergePolicy(101))
+ );
Document doc = new Document();
- doc.add(newField("field", "aaa", Field.Store.YES, Field.Index.ANALYZED, Field.TermVector.WITH_POSITIONS_OFFSETS));
+ doc.add(newField("field", "aaa", Store.YES, Index.ANALYZED, TermVector.WITH_POSITIONS_OFFSETS));
for(int i=0;i<200;i++)
writer.addDocument(doc);
writer.optimize(false);
@@ -1169,20 +1098,17 @@ public class TestIndexWriter extends Luc
for(int pass=0;pass<2;pass++) {
- IndexWriterConfig conf = newIndexWriterConfig(
- TEST_VERSION_CURRENT, new MockAnalyzer()).setOpenMode(OpenMode.CREATE)
- .setMaxBufferedDocs(2);
- if (pass == 2) {
- conf.setMergeScheduler(new SerialMergeScheduler());
- }
- IndexWriter writer = new IndexWriter(directory, conf);
- ((LogMergePolicy) writer.getConfig().getMergePolicy()).setMergeFactor(100);
+ IndexWriter writer = new IndexWriter(
+ directory,
+ newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()).
+ setOpenMode(OpenMode.CREATE).
+ setMaxBufferedDocs(2).
+ // have to use compound file to prevent running out of
+ // descripters when newDirectory returns a file-system
+ // backed directory:
+ setMergePolicy(newLogMergePolicy(false, 10))
+ );
- // have to use compound file to prevent running out of
- // descripters when newDirectory returns a file-system
- // backed directory:
- ((LogMergePolicy) writer.getConfig().getMergePolicy()).setUseCompoundFile(true);
-
//System.out.println("TEST: pass=" + pass + " cms=" + (pass >= 2));
for(int iter=0;iter<10;iter++) {
//System.out.println("TEST: iter=" + iter);
@@ -1278,10 +1204,12 @@ public class TestIndexWriter extends Luc
public void testForceCommit() throws IOException {
Directory dir = newDirectory();
- IndexWriter writer = new IndexWriter(dir, newIndexWriterConfig(
- TEST_VERSION_CURRENT, new MockAnalyzer())
- .setMaxBufferedDocs(2));
- ((LogMergePolicy) writer.getConfig().getMergePolicy()).setMergeFactor(5);
+ IndexWriter writer = new IndexWriter(
+ dir,
+ newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()).
+ setMaxBufferedDocs(2).
+ setMergePolicy(newLogMergePolicy(5))
+ );
writer.commit();
for (int i = 0; i < 23; i++)
@@ -1381,21 +1309,23 @@ public class TestIndexWriter extends Luc
// LUCENE-325: test expungeDeletes, when many adjacent merges are required
public void testExpungeDeletes2() throws IOException {
Directory dir = newDirectory();
- IndexWriter writer = new IndexWriter(dir, newIndexWriterConfig(
- TEST_VERSION_CURRENT, new MockAnalyzer())
- .setMaxBufferedDocs(2).setRAMBufferSizeMB(
- IndexWriterConfig.DISABLE_AUTO_FLUSH));
- ((LogMergePolicy) writer.getConfig().getMergePolicy()).setMergeFactor(50);
+ IndexWriter writer = new IndexWriter(
+ dir,
+ newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()).
+ setMaxBufferedDocs(2).
+ setRAMBufferSizeMB(IndexWriterConfig.DISABLE_AUTO_FLUSH).
+ setMergePolicy(newLogMergePolicy(50))
+ );
Document document = new Document();
document = new Document();
- Field storedField = newField("stored", "stored", Field.Store.YES,
- Field.Index.NO);
+ Field storedField = newField("stored", "stored", Store.YES,
+ Index.NO);
document.add(storedField);
Field termVectorField = newField("termVector", "termVector",
- Field.Store.NO, Field.Index.NOT_ANALYZED,
- Field.TermVector.WITH_POSITIONS_OFFSETS);
+ Store.NO, Index.NOT_ANALYZED,
+ TermVector.WITH_POSITIONS_OFFSETS);
document.add(termVectorField);
for(int i=0;i<98;i++)
writer.addDocument(document);
@@ -1409,9 +1339,11 @@ public class TestIndexWriter extends Luc
assertEquals(49, ir.numDocs());
ir.close();
- writer = new IndexWriter(dir, newIndexWriterConfig( TEST_VERSION_CURRENT,
- new MockAnalyzer()));
- ((LogMergePolicy) writer.getConfig().getMergePolicy()).setMergeFactor(3);
+ writer = new IndexWriter(
+ dir,
+ newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()).
+ setMergePolicy(newLogMergePolicy(3))
+ );
assertEquals(49, writer.numDocs());
writer.expungeDeletes();
writer.close();
@@ -1426,11 +1358,13 @@ public class TestIndexWriter extends Luc
// many adjacent merges are required
public void testExpungeDeletes3() throws IOException {
Directory dir = newDirectory();
- IndexWriter writer = new IndexWriter(dir, newIndexWriterConfig(
- TEST_VERSION_CURRENT, new MockAnalyzer())
- .setMaxBufferedDocs(2).setRAMBufferSizeMB(
- IndexWriterConfig.DISABLE_AUTO_FLUSH));
- ((LogMergePolicy) writer.getConfig().getMergePolicy()).setMergeFactor(50);
+ IndexWriter writer = new IndexWriter(
+ dir,
+ newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()).
+ setMaxBufferedDocs(2).
+ setRAMBufferSizeMB(IndexWriterConfig.DISABLE_AUTO_FLUSH).
+ setMergePolicy(newLogMergePolicy(50))
+ );
Document document = new Document();
@@ -1454,9 +1388,11 @@ public class TestIndexWriter extends Luc
assertEquals(49, ir.numDocs());
ir.close();
- writer = new IndexWriter(dir, newIndexWriterConfig( TEST_VERSION_CURRENT, new MockAnalyzer()));
- // Force many merges to happen
- ((LogMergePolicy) writer.getConfig().getMergePolicy()).setMergeFactor(3);
+ writer = new IndexWriter(
+ dir,
+ newIndexWriterConfig( TEST_VERSION_CURRENT, new MockAnalyzer()).
+ setMergePolicy(newLogMergePolicy(3))
+ );
writer.expungeDeletes(false);
writer.close();
ir = IndexReader.open(dir, true);
@@ -1805,8 +1741,12 @@ public class TestIndexWriter extends Luc
public void testPrepareCommit() throws IOException {
Directory dir = newDirectory();
- IndexWriter writer = new IndexWriter(dir, newIndexWriterConfig( TEST_VERSION_CURRENT, new MockAnalyzer()).setMaxBufferedDocs(2));
- ((LogMergePolicy) writer.getConfig().getMergePolicy()).setMergeFactor(5);
+ IndexWriter writer = new IndexWriter(
+ dir,
+ newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()).
+ setMaxBufferedDocs(2).
+ setMergePolicy(newLogMergePolicy(5))
+ );
writer.commit();
for (int i = 0; i < 23; i++)
@@ -1857,8 +1797,12 @@ public class TestIndexWriter extends Luc
MockDirectoryWrapper dir = newDirectory();
dir.setPreventDoubleWrite(false);
- IndexWriter writer = new IndexWriter(dir, newIndexWriterConfig( TEST_VERSION_CURRENT, new MockAnalyzer()).setMaxBufferedDocs(2));
- ((LogMergePolicy) writer.getConfig().getMergePolicy()).setMergeFactor(5);
+ IndexWriter writer = new IndexWriter(
+ dir,
+ newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()).
+ setMaxBufferedDocs(2).
+ setMergePolicy(newLogMergePolicy(5))
+ );
writer.commit();
for (int i = 0; i < 23; i++)
@@ -2060,7 +2004,7 @@ public class TestIndexWriter extends Luc
IndexReader r1 = IndexReader.open(dir2, true);
IndexReader r2 = (IndexReader) r1.clone();
- writer.addIndexes(new IndexReader[] {r1, r2});
+ writer.addIndexes(r1, r2);
writer.close();
IndexReader r3 = IndexReader.open(dir, true);
@@ -2332,13 +2276,8 @@ public class TestIndexWriter extends Luc
final int NUM_THREADS = 5;
final double RUN_SEC = 0.5;
final Directory dir = newDirectory();
- final IndexWriter w = new IndexWriter(dir, newIndexWriterConfig(
- TEST_VERSION_CURRENT, new MockAnalyzer()));
- LogMergePolicy lmp = (LogMergePolicy) w.getMergePolicy();
- if (lmp.getMergeFactor() > 5) {
- // reduce risk of too many open files
- lmp.setMergeFactor(5);
- }
+ final RandomIndexWriter w = new RandomIndexWriter(random, dir);
+ _TestUtil.reduceOpenFiles(w.w);
w.commit();
final AtomicBoolean failed = new AtomicBoolean();
Thread[] threads = new Thread[NUM_THREADS];
@@ -2538,11 +2477,13 @@ public class TestIndexWriter extends Luc
}
public void testDeleteUnusedFiles() throws Exception {
-
for(int iter=0;iter<2;iter++) {
Directory dir = newDirectory();
- IndexWriter w = new IndexWriter(dir, newIndexWriterConfig( TEST_VERSION_CURRENT, new MockAnalyzer()));
- ((LogMergePolicy) w.getMergePolicy()).setUseCompoundFile(true);
+ IndexWriter w = new IndexWriter(
+ dir,
+ newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()).
+ setMergePolicy(newLogMergePolicy(true))
+ );
Document doc = new Document();
doc.add(newField("field", "go", Field.Store.NO, Field.Index.ANALYZED));
w.addDocument(doc);
@@ -2568,13 +2509,13 @@ public class TestIndexWriter extends Luc
files = Arrays.asList(dir.listAll());
assertTrue(files.contains("_0.cfs"));
// optimize created this
- assertTrue(files.contains("_2.cfs"));
+ //assertTrue(files.contains("_2.cfs"));
w.deleteUnusedFiles();
files = Arrays.asList(dir.listAll());
// r still holds this file open
assertTrue(files.contains("_0.cfs"));
- assertTrue(files.contains("_2.cfs"));
+ //assertTrue(files.contains("_2.cfs"));
r.close();
if (iter == 0) {
@@ -2587,7 +2528,7 @@ public class TestIndexWriter extends Luc
files = Arrays.asList(dir.listAll());
assertFalse(files.contains("_0.cfs"));
}
- assertTrue(files.contains("_2.cfs"));
+ //assertTrue(files.contains("_2.cfs"));
w.close();
r2.close();
@@ -2934,4 +2875,37 @@ public class TestIndexWriter extends Luc
w.close();
dir.close();
}
+
+ public void testNoUnwantedTVFiles() throws Exception {
+
+ Directory dir = newDirectory();
+ IndexWriter indexWriter = new IndexWriter(dir, newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()).setRAMBufferSizeMB(0.01));
+ ((LogMergePolicy) indexWriter.getConfig().getMergePolicy()).setUseCompoundFile(false);
+
+ String BIG="alskjhlaksjghlaksjfhalksvjepgjioefgjnsdfjgefgjhelkgjhqewlrkhgwlekgrhwelkgjhwelkgrhwlkejg";
+ BIG=BIG+BIG+BIG+BIG;
+
+ for (int i=0; i<2; i++) {
+ Document doc = new Document();
+ doc.add(new Field("id", Integer.toString(i)+BIG, Field.Store.YES, Field.Index.NOT_ANALYZED_NO_NORMS));
+ doc.add(new Field("str", Integer.toString(i)+BIG, Field.Store.YES, Field.Index.NOT_ANALYZED));
+ doc.add(new Field("str2", Integer.toString(i)+BIG, Field.Store.YES, Field.Index.ANALYZED));
+ doc.add(new Field("str3", Integer.toString(i)+BIG, Field.Store.YES, Field.Index.ANALYZED_NO_NORMS));
+ indexWriter.addDocument(doc);
+ }
+
+ indexWriter.close();
+
+ _TestUtil.checkIndex(dir);
+
+ assertNoUnreferencedFiles(dir, "no tv files");
+ String[] files = dir.listAll();
+ for(String file : files) {
+ assertTrue(!file.endsWith(IndexFileNames.VECTORS_FIELDS_EXTENSION));
+ assertTrue(!file.endsWith(IndexFileNames.VECTORS_INDEX_EXTENSION));
+ assertTrue(!file.endsWith(IndexFileNames.VECTORS_DOCUMENTS_EXTENSION));
+ }
+
+ dir.close();
+ }
}
Modified: lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/index/TestIndexWriterConfig.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/index/TestIndexWriterConfig.java?rev=1042501&r1=1042500&r2=1042501&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/index/TestIndexWriterConfig.java (original)
+++ lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/index/TestIndexWriterConfig.java Mon Dec 6 00:47:16 2010
@@ -30,7 +30,6 @@ import org.apache.lucene.analysis.MockAn
import org.apache.lucene.index.DocumentsWriter.IndexingChain;
import org.apache.lucene.index.IndexWriter.IndexReaderWarmer;
import org.apache.lucene.index.IndexWriterConfig.OpenMode;
-import org.apache.lucene.index.codecs.CodecProvider;
import org.apache.lucene.search.DefaultSimilarity;
import org.apache.lucene.search.Similarity;
import org.apache.lucene.store.Directory;
@@ -81,7 +80,6 @@ public class TestIndexWriterConfig exten
assertEquals(IndexWriterConfig.DEFAULT_READER_POOLING, conf.getReaderPooling());
assertTrue(DocumentsWriter.defaultIndexingChain == conf.getIndexingChain());
assertNull(conf.getMergedSegmentWarmer());
- assertEquals(IndexWriterConfig.DEFAULT_CODEC_PROVIDER, CodecProvider.getDefault());
assertEquals(IndexWriterConfig.DEFAULT_MAX_THREAD_STATES, conf.getMaxThreadStates());
assertEquals(IndexWriterConfig.DEFAULT_READER_TERMS_INDEX_DIVISOR, conf.getReaderTermsIndexDivisor());
assertEquals(LogByteSizeMergePolicy.class, conf.getMergePolicy().getClass());
@@ -251,52 +249,4 @@ public class TestIndexWriterConfig exten
conf.setMergePolicy(null);
assertEquals(LogByteSizeMergePolicy.class, conf.getMergePolicy().getClass());
}
-
- /**
- * @deprecated should be removed once all the deprecated setters are removed
- * from IndexWriter.
- */
- @Test @Deprecated
- public void testIndexWriterSetters() throws Exception {
- // This test intentionally tests deprecated methods. The purpose is to pass
- // whatever the user set on IW to IWC, so that if the user calls
- // iw.getConfig().getXYZ(), he'll get the same value he passed to
- // iw.setXYZ().
- IndexWriterConfig conf = new IndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer());
- Directory dir = newDirectory();
- IndexWriter writer = new IndexWriter(dir, conf);
-
- writer.setSimilarity(new MySimilarity());
- assertEquals(MySimilarity.class, writer.getConfig().getSimilarity().getClass());
-
- writer.setMaxBufferedDeleteTerms(4);
- assertEquals(4, writer.getConfig().getMaxBufferedDeleteTerms());
-
- writer.setMaxBufferedDocs(10);
- assertEquals(10, writer.getConfig().getMaxBufferedDocs());
-
- writer.setMaxFieldLength(10);
- assertEquals(10, writer.getConfig().getMaxFieldLength());
-
- writer.setMergeScheduler(new SerialMergeScheduler());
- assertEquals(SerialMergeScheduler.class, writer.getConfig().getMergeScheduler().getClass());
-
- writer.setRAMBufferSizeMB(1.5);
- assertEquals(1.5, writer.getConfig().getRAMBufferSizeMB(), 0.0);
-
- writer.setTermIndexInterval(40);
- assertEquals(40, writer.getConfig().getTermIndexInterval());
-
- writer.setWriteLockTimeout(100);
- assertEquals(100, writer.getConfig().getWriteLockTimeout());
-
- writer.setMergedSegmentWarmer(new MyWarmer());
- assertEquals(MyWarmer.class, writer.getConfig().getMergedSegmentWarmer().getClass());
-
- writer.setMergePolicy(new LogDocMergePolicy());
- assertEquals(LogDocMergePolicy.class, writer.getConfig().getMergePolicy().getClass());
- writer.close();
- dir.close();
- }
-
}
Modified: lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/index/TestIndexWriterDelete.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/index/TestIndexWriterDelete.java?rev=1042501&r1=1042500&r2=1042501&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/index/TestIndexWriterDelete.java (original)
+++ lucene/dev/branches/docvalues/lucene/src/test/org/apache/lucene/index/TestIndexWriterDelete.java Mon Dec 6 00:47:16 2010
@@ -794,7 +794,7 @@ public class TestIndexWriterDelete exten
public void testDeleteNullQuery() throws IOException {
Directory dir = newDirectory();
- IndexWriter modifier = new IndexWriter(dir, new MockAnalyzer(MockTokenizer.WHITESPACE, false), IndexWriter.MaxFieldLength.UNLIMITED);
+ IndexWriter modifier = new IndexWriter(dir, new IndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer(MockTokenizer.WHITESPACE, false)));
for (int i = 0; i < 5; i++) {
addDoc(modifier, i, 2*i);