mirror of https://github.com/apache/lucene.git
LUCENE-3021: randomize skipInterval in tests
git-svn-id: https://svn.apache.org/repos/asf/lucene/dev/trunk@1091408 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
ad8926cc61
commit
35d1d369f5
|
@ -69,12 +69,13 @@ public final class SepPostingsWriterImpl extends PostingsWriterBase {
|
|||
* smaller indexes, greater acceleration, but fewer accelerable cases, while
|
||||
* smaller values result in bigger indexes, less acceleration and more
|
||||
* accelerable cases. More detailed experiments would be useful here. */
|
||||
final int skipInterval = 16;
|
||||
final int skipInterval;
|
||||
static final int DEFAULT_SKIP_INTERVAL = 16;
|
||||
|
||||
/**
|
||||
* Expert: minimum docFreq to write any skip data at all
|
||||
*/
|
||||
final int skipMinimum = skipInterval;
|
||||
final int skipMinimum;
|
||||
|
||||
/** Expert: The maximum number of skip levels. Smaller values result in
|
||||
* slightly smaller indexes, but slower skipping in big posting lists.
|
||||
|
@ -102,8 +103,13 @@ public final class SepPostingsWriterImpl extends PostingsWriterBase {
|
|||
private final RAMOutputStream indexBytesWriter = new RAMOutputStream();
|
||||
|
||||
public SepPostingsWriterImpl(SegmentWriteState state, IntStreamFactory factory) throws IOException {
|
||||
super();
|
||||
this(state, factory, DEFAULT_SKIP_INTERVAL);
|
||||
}
|
||||
|
||||
public SepPostingsWriterImpl(SegmentWriteState state, IntStreamFactory factory, int skipInterval) throws IOException {
|
||||
super();
|
||||
this.skipInterval = skipInterval;
|
||||
this.skipMinimum = skipInterval; /* set to the same for now */
|
||||
final String docFileName = IndexFileNames.segmentFileName(state.segmentName, state.codecId, DOC_EXTENSION);
|
||||
docOut = factory.createOutput(state.directory, docFileName);
|
||||
docIndex = docOut.index();
|
||||
|
|
|
@ -50,12 +50,13 @@ public final class StandardPostingsWriter extends PostingsWriterBase {
|
|||
* smaller indexes, greater acceleration, but fewer accelerable cases, while
|
||||
* smaller values result in bigger indexes, less acceleration and more
|
||||
* accelerable cases. More detailed experiments would be useful here. */
|
||||
final int skipInterval = 16;
|
||||
static final int DEFAULT_SKIP_INTERVAL = 16;
|
||||
final int skipInterval;
|
||||
|
||||
/**
|
||||
* Expert: minimum docFreq to write any skip data at all
|
||||
*/
|
||||
final int skipMinimum = skipInterval;
|
||||
final int skipMinimum;
|
||||
|
||||
/** Expert: The maximum number of skip levels. Smaller values result in
|
||||
* slightly smaller indexes, but slower skipping in big posting lists.
|
||||
|
@ -82,7 +83,12 @@ public final class StandardPostingsWriter extends PostingsWriterBase {
|
|||
private RAMOutputStream bytesWriter = new RAMOutputStream();
|
||||
|
||||
public StandardPostingsWriter(SegmentWriteState state) throws IOException {
|
||||
this(state, DEFAULT_SKIP_INTERVAL);
|
||||
}
|
||||
public StandardPostingsWriter(SegmentWriteState state, int skipInterval) throws IOException {
|
||||
super();
|
||||
this.skipInterval = skipInterval;
|
||||
this.skipMinimum = skipInterval; /* set to the same for now */
|
||||
//this.segment = state.segmentName;
|
||||
String fileName = IndexFileNames.segmentFileName(state.segmentName, state.codecId, StandardCodec.FREQ_EXTENSION);
|
||||
freqOut = state.directory.createOutput(fileName);
|
||||
|
|
|
@ -120,7 +120,14 @@ public class MockRandomCodec extends Codec {
|
|||
|
||||
@Override
|
||||
public FieldsConsumer fieldsConsumer(SegmentWriteState state) throws IOException {
|
||||
|
||||
// we pull this before the seed intentionally: because its not consumed at runtime
|
||||
// (the skipInterval is written into postings header)
|
||||
int skipInterval = _TestUtil.nextInt(seedRandom, 2, 64);
|
||||
|
||||
if (LuceneTestCase.VERBOSE) {
|
||||
System.out.println("MockRandomCodec: skipInterval=" + skipInterval);
|
||||
}
|
||||
|
||||
final long seed = seedRandom.nextLong();
|
||||
|
||||
if (LuceneTestCase.VERBOSE) {
|
||||
|
@ -136,12 +143,12 @@ public class MockRandomCodec extends Codec {
|
|||
PostingsWriterBase postingsWriter;
|
||||
|
||||
if (random.nextBoolean()) {
|
||||
postingsWriter = new SepPostingsWriterImpl(state, new MockIntStreamFactory(random));
|
||||
postingsWriter = new SepPostingsWriterImpl(state, new MockIntStreamFactory(random), skipInterval);
|
||||
} else {
|
||||
if (LuceneTestCase.VERBOSE) {
|
||||
System.out.println("MockRandomCodec: writing Standard postings");
|
||||
}
|
||||
postingsWriter = new StandardPostingsWriter(state);
|
||||
postingsWriter = new StandardPostingsWriter(state, skipInterval);
|
||||
}
|
||||
|
||||
if (random.nextBoolean()) {
|
||||
|
|
Loading…
Reference in New Issue