Return-Path:
X-Original-To: apmail-lucene-commits-archive@www.apache.org
Delivered-To: apmail-lucene-commits-archive@www.apache.org
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
by minotaur.apache.org (Postfix) with SMTP id 01DF017DB3
for ;
Sun, 5 Oct 2014 14:44:24 +0000 (UTC)
Received: (qmail 44269 invoked by uid 500); 5 Oct 2014 14:44:23 -0000
Mailing-List: contact commits-help@lucene.apache.org; run by ezmlm
Precedence: bulk
List-Help:
List-Unsubscribe:
List-Post:
List-Id:
Reply-To: dev@lucene.apache.org
Delivered-To: mailing list commits@lucene.apache.org
Received: (qmail 44251 invoked by uid 99); 5 Oct 2014 14:44:23 -0000
Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136)
by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 05 Oct 2014 14:44:23 +0000
X-ASF-Spam-Status: No, hits=-2000.0 required=5.0
tests=ALL_TRUSTED,T_FILL_THIS_FORM_SHORT
X-Spam-Check-By: apache.org
Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4)
by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 05 Oct 2014 14:44:18 +0000
Received: from eris.apache.org (localhost [127.0.0.1])
by eris.apache.org (Postfix) with ESMTP id 9A6C92388ADA;
Sun, 5 Oct 2014 14:43:58 +0000 (UTC)
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Subject: svn commit: r1629501 [3/7] - in /lucene/dev/branches/branch_5x: ./
dev-tools/ lucene/
lucene/backward-codecs/src/java/org/apache/lucene/codecs/lucene40/
lucene/backward-codecs/src/java/org/apache/lucene/codecs/lucene41/
lucene/backward-codecs/src/java/...
Date: Sun, 05 Oct 2014 14:43:51 -0000
To: commits@lucene.apache.org
From: rmuir@apache.org
X-Mailer: svnmailer-1.0.9
Message-Id: <20141005144358.9A6C92388ADA@eris.apache.org>
X-Virus-Checked: Checked by ClamAV on apache.org
Modified: lucene/dev/branches/branch_5x/lucene/backward-codecs/src/java/org/apache/lucene/codecs/lucene45/Lucene45DocValuesFormat.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/lucene/backward-codecs/src/java/org/apache/lucene/codecs/lucene45/Lucene45DocValuesFormat.java?rev=1629501&r1=1629500&r2=1629501&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/lucene/backward-codecs/src/java/org/apache/lucene/codecs/lucene45/Lucene45DocValuesFormat.java (original)
+++ lucene/dev/branches/branch_5x/lucene/backward-codecs/src/java/org/apache/lucene/codecs/lucene45/Lucene45DocValuesFormat.java Sun Oct 5 14:43:47 2014
@@ -19,148 +19,15 @@ package org.apache.lucene.codecs.lucene4
import java.io.IOException;
-import org.apache.lucene.codecs.CodecUtil;
import org.apache.lucene.codecs.DocValuesConsumer;
import org.apache.lucene.codecs.DocValuesProducer;
import org.apache.lucene.codecs.DocValuesFormat;
import org.apache.lucene.index.SegmentReadState;
import org.apache.lucene.index.SegmentWriteState;
-import org.apache.lucene.index.FieldInfo.DocValuesType;
-import org.apache.lucene.store.DataOutput;
-import org.apache.lucene.util.SmallFloat;
-import org.apache.lucene.util.fst.FST;
-import org.apache.lucene.util.packed.BlockPackedWriter;
-import org.apache.lucene.util.packed.MonotonicBlockPackedWriter;
-import org.apache.lucene.util.packed.PackedInts;
/**
* Lucene 4.5 DocValues format.
- *
- * Encodes the four per-document value types (Numeric,Binary,Sorted,SortedSet) with these strategies:
- *
- * {@link DocValuesType#NUMERIC NUMERIC}:
- *
- * - Delta-compressed: per-document integers written in blocks of 16k. For each block
- * the minimum value in that block is encoded, and each entry is a delta from that
- * minimum value. Each block of deltas is compressed with bitpacking. For more
- * information, see {@link BlockPackedWriter}.
- *
- Table-compressed: when the number of unique values is very small (< 256), and
- * when there are unused "gaps" in the range of values used (such as {@link SmallFloat}),
- * a lookup table is written instead. Each per-document entry is instead the ordinal
- * to this table, and those ordinals are compressed with bitpacking ({@link PackedInts}).
- *
- GCD-compressed: when all numbers share a common divisor, such as dates, the greatest
- * common denominator (GCD) is computed, and quotients are stored using Delta-compressed Numerics.
- *
- *
- * {@link DocValuesType#BINARY BINARY}:
- *
- * - Fixed-width Binary: one large concatenated byte[] is written, along with the fixed length.
- * Each document's value can be addressed directly with multiplication ({@code docID * length}).
- *
- Variable-width Binary: one large concatenated byte[] is written, along with end addresses
- * for each document. The addresses are written in blocks of 16k, with the current absolute
- * start for the block, and the average (expected) delta per entry. For each document the
- * deviation from the delta (actual - expected) is written.
- *
- Prefix-compressed Binary: values are written in chunks of 16, with the first value written
- * completely and other values sharing prefixes. chunk addresses are written in blocks of 16k,
- * with the current absolute start for the block, and the average (expected) delta per entry.
- * For each chunk the deviation from the delta (actual - expected) is written.
- *
- *
- * {@link DocValuesType#SORTED SORTED}:
- *
- * - Sorted: a mapping of ordinals to deduplicated terms is written as Prefix-Compressed Binary,
- * along with the per-document ordinals written using one of the numeric strategies above.
- *
- *
- * {@link DocValuesType#SORTED_SET SORTED_SET}:
- *
- * - SortedSet: a mapping of ordinals to deduplicated terms is written as Prefix-Compressed Binary,
- * an ordinal list and per-document index into this list are written using the numeric strategies
- * above.
- *
- *
- * Files:
- *
- * - .dvd: DocValues data
- * - .dvm: DocValues metadata
- *
- *
- * -
- *
The DocValues metadata or .dvm file.
- * For DocValues field, this stores metadata, such as the offset into the
- * DocValues data (.dvd)
- * DocValues metadata (.dvm) --> Header,<Entry>NumFields,Footer
- *
- * - Entry --> NumericEntry | BinaryEntry | SortedEntry | SortedSetEntry
- * - NumericEntry --> GCDNumericEntry | TableNumericEntry | DeltaNumericEntry
- * - GCDNumericEntry --> NumericHeader,MinValue,GCD
- * - TableNumericEntry --> NumericHeader,TableSize,{@link DataOutput#writeLong Int64}TableSize
- * - DeltaNumericEntry --> NumericHeader
- * - NumericHeader --> FieldNumber,EntryType,NumericType,MissingOffset,PackedVersion,DataOffset,Count,BlockSize
- * - BinaryEntry --> FixedBinaryEntry | VariableBinaryEntry | PrefixBinaryEntry
- * - FixedBinaryEntry --> BinaryHeader
- * - VariableBinaryEntry --> BinaryHeader,AddressOffset,PackedVersion,BlockSize
- * - PrefixBinaryEntry --> BinaryHeader,AddressInterval,AddressOffset,PackedVersion,BlockSize
- * - BinaryHeader --> FieldNumber,EntryType,BinaryType,MissingOffset,MinLength,MaxLength,DataOffset
- * - SortedEntry --> FieldNumber,EntryType,BinaryEntry,NumericEntry
- * - SortedSetEntry --> EntryType,BinaryEntry,NumericEntry,NumericEntry
- * - FieldNumber,PackedVersion,MinLength,MaxLength,BlockSize,ValueCount --> {@link DataOutput#writeVInt VInt}
- * - EntryType,CompressionType --> {@link DataOutput#writeByte Byte}
- * - Header --> {@link CodecUtil#writeHeader CodecHeader}
- * - MinValue,GCD,MissingOffset,AddressOffset,DataOffset --> {@link DataOutput#writeLong Int64}
- * - TableSize --> {@link DataOutput#writeVInt vInt}
- * - Footer --> {@link CodecUtil#writeFooter CodecFooter}
- *
- * Sorted fields have two entries: a BinaryEntry with the value metadata,
- * and an ordinary NumericEntry for the document-to-ord metadata.
- * SortedSet fields have three entries: a BinaryEntry with the value metadata,
- * and two NumericEntries for the document-to-ord-index and ordinal list metadata.
- * FieldNumber of -1 indicates the end of metadata.
- * EntryType is a 0 (NumericEntry) or 1 (BinaryEntry)
- * DataOffset is the pointer to the start of the data in the DocValues data (.dvd)
- * NumericType indicates how Numeric values will be compressed:
- *
- * - 0 --> delta-compressed. For each block of 16k integers, every integer is delta-encoded
- * from the minimum value within the block.
- *
- 1 -->, gcd-compressed. When all integers share a common divisor, only quotients are stored
- * using blocks of delta-encoded ints.
- *
- 2 --> table-compressed. When the number of unique numeric values is small and it would save space,
- * a lookup table of unique values is written, followed by the ordinal for each document.
- *
- * BinaryType indicates how Binary values will be stored:
- *
- * - 0 --> fixed-width. All values have the same length, addressing by multiplication.
- *
- 1 -->, variable-width. An address for each value is stored.
- *
- 2 --> prefix-compressed. An address to the start of every interval'th value is stored.
- *
- * MinLength and MaxLength represent the min and max byte[] value lengths for Binary values.
- * If they are equal, then all values are of a fixed size, and can be addressed as DataOffset + (docID * length).
- * Otherwise, the binary values are of variable size, and packed integer metadata (PackedVersion,BlockSize)
- * is written for the addresses.
- *
MissingOffset points to a byte[] containing a bitset of all documents that had a value for the field.
- * If its -1, then there are no missing values.
- *
Checksum contains the CRC32 checksum of all bytes in the .dvm file up
- * until the checksum. This is used to verify integrity of the file on opening the
- * index.
- *
-
- *
The DocValues data or .dvd file.
- * For DocValues field, this stores the actual per-document data (the heavy-lifting)
- * DocValues data (.dvd) --> Header,<NumericData | BinaryData | SortedData>NumFields,Footer
- *
- * - NumericData --> DeltaCompressedNumerics | TableCompressedNumerics | GCDCompressedNumerics
- * - BinaryData --> {@link DataOutput#writeByte Byte}DataLength,Addresses
- * - SortedData --> {@link FST FST<Int64>}
- * - DeltaCompressedNumerics --> {@link BlockPackedWriter BlockPackedInts(blockSize=16k)}
- * - TableCompressedNumerics --> {@link PackedInts PackedInts}
- * - GCDCompressedNumerics --> {@link BlockPackedWriter BlockPackedInts(blockSize=16k)}
- * - Addresses --> {@link MonotonicBlockPackedWriter MonotonicBlockPackedInts(blockSize=16k)}
- * - Footer --> {@link CodecUtil#writeFooter CodecFooter}
- *
- * SortedSet entries store the list of ordinals in their BinaryData as a
- * sequences of increasing {@link DataOutput#writeVLong vLong}s, delta-encoded.
- *
* @deprecated Only for reading old 4.3-4.5 segments
- * @lucene.experimental
*/
@Deprecated
public class Lucene45DocValuesFormat extends DocValuesFormat {
@@ -177,7 +44,7 @@ public class Lucene45DocValuesFormat ext
}
@Override
- public DocValuesProducer fieldsProducer(SegmentReadState state) throws IOException {
+ public final DocValuesProducer fieldsProducer(SegmentReadState state) throws IOException {
return new Lucene45DocValuesProducer(state, DATA_CODEC, DATA_EXTENSION, META_CODEC, META_EXTENSION);
}
Modified: lucene/dev/branches/branch_5x/lucene/backward-codecs/src/java/org/apache/lucene/codecs/lucene45/Lucene45DocValuesProducer.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/lucene/backward-codecs/src/java/org/apache/lucene/codecs/lucene45/Lucene45DocValuesProducer.java?rev=1629501&r1=1629500&r2=1629501&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/lucene/backward-codecs/src/java/org/apache/lucene/codecs/lucene45/Lucene45DocValuesProducer.java (original)
+++ lucene/dev/branches/branch_5x/lucene/backward-codecs/src/java/org/apache/lucene/codecs/lucene45/Lucene45DocValuesProducer.java Sun Oct 5 14:43:47 2014
@@ -63,13 +63,16 @@ import org.apache.lucene.util.BytesRef;
import org.apache.lucene.util.IOUtils;
import org.apache.lucene.util.LongValues;
import org.apache.lucene.util.RamUsageEstimator;
-import org.apache.lucene.util.StringHelper;
import org.apache.lucene.util.Version;
import org.apache.lucene.util.packed.BlockPackedReader;
import org.apache.lucene.util.packed.MonotonicBlockPackedReader;
import org.apache.lucene.util.packed.PackedInts;
-/** reader for {@link Lucene45DocValuesFormat} */
+/**
+ * reader for 4.5 docvalues format
+ * @deprecated only for reading old 4.x segments
+ */
+@Deprecated
class Lucene45DocValuesProducer extends DocValuesProducer implements Closeable {
private final Map numerics;
private final Map binaries;
@@ -94,6 +97,27 @@ class Lucene45DocValuesProducer extends
private final Map addressInstances = new HashMap<>();
private final Map ordIndexInstances = new HashMap<>();
+ private final boolean merging;
+
+ // clone for merge: when merging we don't do any instances.put()s
+ Lucene45DocValuesProducer(Lucene45DocValuesProducer original) throws IOException {
+ assert Thread.holdsLock(original);
+ numerics = original.numerics;
+ binaries = original.binaries;
+ sortedSets = original.sortedSets;
+ ords = original.ords;
+ ordIndexes = original.ordIndexes;
+ ramBytesUsed = new AtomicLong(original.ramBytesUsed.get());
+ data = original.data.clone();
+ maxDoc = original.maxDoc;
+ version = original.version;
+ numFields = original.numFields;
+ lenientFieldInfoCheck = original.lenientFieldInfoCheck;
+ addressInstances.putAll(original.addressInstances);
+ ordIndexInstances.putAll(original.ordIndexInstances);
+ merging = true;
+ }
+
/** expert: instantiates a new reader */
@SuppressWarnings("deprecation")
protected Lucene45DocValuesProducer(SegmentReadState state, String dataCodec, String dataExtension, String metaCodec, String metaExtension) throws IOException {
@@ -103,6 +127,7 @@ class Lucene45DocValuesProducer extends
// read in the entries from the metadata file.
ChecksumIndexInput in = state.directory.openChecksumInput(metaName, state.context);
this.maxDoc = state.segmentInfo.getDocCount();
+ merging = false;
boolean success = false;
try {
version = CodecUtil.checkHeader(in, metaCodec,
@@ -439,8 +464,10 @@ class Lucene45DocValuesProducer extends
if (addrInstance == null) {
data.seek(bytes.addressesOffset);
addrInstance = MonotonicBlockPackedReader.of(data, bytes.packedIntsVersion, bytes.blockSize, bytes.count, false);
- addressInstances.put(field.number, addrInstance);
- ramBytesUsed.addAndGet(addrInstance.ramBytesUsed() + RamUsageEstimator.NUM_BYTES_INT);
+ if (!merging) {
+ addressInstances.put(field.number, addrInstance);
+ ramBytesUsed.addAndGet(addrInstance.ramBytesUsed() + RamUsageEstimator.NUM_BYTES_INT);
+ }
}
addresses = addrInstance;
return addresses;
@@ -486,8 +513,10 @@ class Lucene45DocValuesProducer extends
size = 1L + bytes.count / interval;
}
addrInstance = MonotonicBlockPackedReader.of(data, bytes.packedIntsVersion, bytes.blockSize, size, false);
- addressInstances.put(field.number, addrInstance);
- ramBytesUsed.addAndGet(addrInstance.ramBytesUsed() + RamUsageEstimator.NUM_BYTES_INT);
+ if (!merging) {
+ addressInstances.put(field.number, addrInstance);
+ ramBytesUsed.addAndGet(addrInstance.ramBytesUsed() + RamUsageEstimator.NUM_BYTES_INT);
+ }
}
addresses = addrInstance;
return addresses;
@@ -556,8 +585,10 @@ class Lucene45DocValuesProducer extends
if (ordIndexInstance == null) {
data.seek(entry.offset);
ordIndexInstance = MonotonicBlockPackedReader.of(data, entry.packedIntsVersion, entry.blockSize, entry.count, false);
- ordIndexInstances.put(field.number, ordIndexInstance);
- ramBytesUsed.addAndGet(ordIndexInstance.ramBytesUsed() + RamUsageEstimator.NUM_BYTES_INT);
+ if (!merging) {
+ ordIndexInstances.put(field.number, ordIndexInstance);
+ ramBytesUsed.addAndGet(ordIndexInstance.ramBytesUsed() + RamUsageEstimator.NUM_BYTES_INT);
+ }
}
ordIndex = ordIndexInstance;
return ordIndex;
@@ -692,6 +723,11 @@ class Lucene45DocValuesProducer extends
}
@Override
+ public synchronized DocValuesProducer getMergeInstance() throws IOException {
+ return new Lucene45DocValuesProducer(this);
+ }
+
+ @Override
public void close() throws IOException {
data.close();
}
Modified: lucene/dev/branches/branch_5x/lucene/backward-codecs/src/java/org/apache/lucene/codecs/lucene46/Lucene46Codec.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/lucene/backward-codecs/src/java/org/apache/lucene/codecs/lucene46/Lucene46Codec.java?rev=1629501&r1=1629500&r2=1629501&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/lucene/backward-codecs/src/java/org/apache/lucene/codecs/lucene46/Lucene46Codec.java (original)
+++ lucene/dev/branches/branch_5x/lucene/backward-codecs/src/java/org/apache/lucene/codecs/lucene46/Lucene46Codec.java Sun Oct 5 14:43:47 2014
@@ -20,9 +20,9 @@ package org.apache.lucene.codecs.lucene4
import java.io.IOException;
import org.apache.lucene.codecs.Codec;
+import org.apache.lucene.codecs.CompoundFormat;
import org.apache.lucene.codecs.DocValuesFormat;
import org.apache.lucene.codecs.FieldInfosFormat;
-import org.apache.lucene.codecs.FilterCodec;
import org.apache.lucene.codecs.LiveDocsFormat;
import org.apache.lucene.codecs.NormsConsumer;
import org.apache.lucene.codecs.NormsFormat;
@@ -30,6 +30,7 @@ import org.apache.lucene.codecs.Postings
import org.apache.lucene.codecs.SegmentInfoFormat;
import org.apache.lucene.codecs.StoredFieldsFormat;
import org.apache.lucene.codecs.TermVectorsFormat;
+import org.apache.lucene.codecs.lucene40.Lucene40CompoundFormat;
import org.apache.lucene.codecs.lucene40.Lucene40LiveDocsFormat;
import org.apache.lucene.codecs.lucene41.Lucene41StoredFieldsFormat;
import org.apache.lucene.codecs.lucene42.Lucene42NormsFormat;
@@ -39,19 +40,9 @@ import org.apache.lucene.codecs.perfield
import org.apache.lucene.index.SegmentWriteState;
/**
- * Implements the Lucene 4.6 index format, with configurable per-field postings
- * and docvalues formats.
- *
- * If you want to reuse functionality of this codec in another codec, extend
- * {@link FilterCodec}.
- *
- * @see org.apache.lucene.codecs.lucene46 package documentation for file format details.
- * @lucene.experimental
+ * Implements the Lucene 4.6 index format
* @deprecated Only for reading old 4.6-4.8 segments
*/
-// NOTE: if we make largish changes in a minor release, easier to just make Lucene46Codec or whatever
-// if they are backwards compatible or smallish we can probably do the backwards in the postingsreader
-// (it writes a minor version, etc).
@Deprecated
public class Lucene46Codec extends Codec {
private final StoredFieldsFormat fieldsFormat = new Lucene41StoredFieldsFormat();
@@ -59,6 +50,7 @@ public class Lucene46Codec extends Codec
private final FieldInfosFormat fieldInfosFormat = new Lucene46FieldInfosFormat();
private final SegmentInfoFormat segmentInfosFormat = new Lucene46SegmentInfoFormat();
private final LiveDocsFormat liveDocsFormat = new Lucene40LiveDocsFormat();
+ private final CompoundFormat compoundFormat = new Lucene40CompoundFormat();
private final PostingsFormat postingsFormat = new PerFieldPostingsFormat() {
@Override
@@ -80,12 +72,12 @@ public class Lucene46Codec extends Codec
}
@Override
- public final StoredFieldsFormat storedFieldsFormat() {
+ public StoredFieldsFormat storedFieldsFormat() {
return fieldsFormat;
}
@Override
- public final TermVectorsFormat termVectorsFormat() {
+ public TermVectorsFormat termVectorsFormat() {
return vectorsFormat;
}
@@ -108,6 +100,11 @@ public class Lucene46Codec extends Codec
public final LiveDocsFormat liveDocsFormat() {
return liveDocsFormat;
}
+
+ @Override
+ public CompoundFormat compoundFormat() {
+ return compoundFormat;
+ }
/** Returns the postings format that should be used for writing
* new segments of field
.
Modified: lucene/dev/branches/branch_5x/lucene/backward-codecs/src/java/org/apache/lucene/codecs/lucene46/Lucene46FieldInfosFormat.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/lucene/backward-codecs/src/java/org/apache/lucene/codecs/lucene46/Lucene46FieldInfosFormat.java?rev=1629501&r1=1629500&r2=1629501&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/lucene/backward-codecs/src/java/org/apache/lucene/codecs/lucene46/Lucene46FieldInfosFormat.java (original)
+++ lucene/dev/branches/branch_5x/lucene/backward-codecs/src/java/org/apache/lucene/codecs/lucene46/Lucene46FieldInfosFormat.java Sun Oct 5 14:43:47 2014
@@ -19,77 +19,15 @@ package org.apache.lucene.codecs.lucene4
import java.io.IOException;
-import org.apache.lucene.codecs.CodecUtil;
-import org.apache.lucene.codecs.DocValuesFormat;
import org.apache.lucene.codecs.FieldInfosFormat;
import org.apache.lucene.codecs.FieldInfosReader;
import org.apache.lucene.codecs.FieldInfosWriter;
-import org.apache.lucene.index.FieldInfo.DocValuesType;
-import org.apache.lucene.store.DataOutput;
/**
* Lucene 4.6 Field Infos format.
- *
- *
Field names are stored in the field info file, with suffix .fnm.
- * FieldInfos (.fnm) --> Header,FieldsCount, <FieldName,FieldNumber,
- * FieldBits,DocValuesBits,DocValuesGen,Attributes> FieldsCount,Footer
- * Data types:
- *
- * - Header --> {@link CodecUtil#checkHeader CodecHeader}
- * - FieldsCount --> {@link DataOutput#writeVInt VInt}
- * - FieldName --> {@link DataOutput#writeString String}
- * - FieldBits, DocValuesBits --> {@link DataOutput#writeByte Byte}
- * - FieldNumber --> {@link DataOutput#writeInt VInt}
- * - Attributes --> {@link DataOutput#writeStringStringMap Map<String,String>}
- * - DocValuesGen --> {@link DataOutput#writeLong(long) Int64}
- * - Footer --> {@link CodecUtil#writeFooter CodecFooter}
- *
- *
- * Field Descriptions:
- *
- * - FieldsCount: the number of fields in this file.
- * - FieldName: name of the field as a UTF-8 String.
- * - FieldNumber: the field's number. Note that unlike previous versions of
- * Lucene, the fields are not numbered implicitly by their order in the
- * file, instead explicitly.
- * - FieldBits: a byte containing field options.
- *
- * - The low-order bit is one for indexed fields, and zero for non-indexed
- * fields.
- * - The second lowest-order bit is one for fields that have term vectors
- * stored, and zero for fields without term vectors.
- * - If the third lowest order-bit is set (0x4), offsets are stored into
- * the postings list in addition to positions.
- * - Fourth bit is unused.
- * - If the fifth lowest-order bit is set (0x10), norms are omitted for the
- * indexed field.
- * - If the sixth lowest-order bit is set (0x20), payloads are stored for the
- * indexed field.
- * - If the seventh lowest-order bit is set (0x40), term frequencies and
- * positions omitted for the indexed field.
- * - If the eighth lowest-order bit is set (0x80), positions are omitted for the
- * indexed field.
- *
- *
- * - DocValuesBits: a byte containing per-document value types. The type
- * recorded as two four-bit integers, with the high-order bits representing
- *
norms
options, and the low-order bits representing
- * {@code DocValues} options. Each four-bit integer can be decoded as such:
- *
- * - 0: no DocValues for this field.
- * - 1: NumericDocValues. ({@link DocValuesType#NUMERIC})
- * - 2: BinaryDocValues. ({@code DocValuesType#BINARY})
- * - 3: SortedDocValues. ({@code DocValuesType#SORTED})
- *
- *
- * - DocValuesGen is the generation count of the field's DocValues. If this is -1,
- * there are no DocValues updates to that field. Anything above zero means there
- * are updates stored by {@link DocValuesFormat}.
- * - Attributes: a key-value map of codec-private attributes.
- *
- *
- * @lucene.experimental
+ * @deprecated only for old 4.x segments
*/
+@Deprecated
public final class Lucene46FieldInfosFormat extends FieldInfosFormat {
private final FieldInfosReader reader = new Lucene46FieldInfosReader();
private final FieldInfosWriter writer = new Lucene46FieldInfosWriter();
@@ -99,7 +37,7 @@ public final class Lucene46FieldInfosFor
}
@Override
- public FieldInfosReader getFieldInfosReader() throws IOException {
+ public final FieldInfosReader getFieldInfosReader() throws IOException {
return reader;
}
Modified: lucene/dev/branches/branch_5x/lucene/backward-codecs/src/java/org/apache/lucene/codecs/lucene46/Lucene46FieldInfosReader.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/lucene/backward-codecs/src/java/org/apache/lucene/codecs/lucene46/Lucene46FieldInfosReader.java?rev=1629501&r1=1629500&r2=1629501&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/lucene/backward-codecs/src/java/org/apache/lucene/codecs/lucene46/Lucene46FieldInfosReader.java (original)
+++ lucene/dev/branches/branch_5x/lucene/backward-codecs/src/java/org/apache/lucene/codecs/lucene46/Lucene46FieldInfosReader.java Sun Oct 5 14:43:47 2014
@@ -38,9 +38,9 @@ import org.apache.lucene.store.IndexInpu
/**
* Lucene 4.6 FieldInfos reader.
*
- * @lucene.experimental
- * @see Lucene46FieldInfosFormat
+ * @deprecated only for old 4.x segments
*/
+@Deprecated
final class Lucene46FieldInfosReader extends FieldInfosReader {
/** Sole constructor. */
Modified: lucene/dev/branches/branch_5x/lucene/backward-codecs/src/java/org/apache/lucene/codecs/lucene46/Lucene46FieldInfosWriter.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/lucene/backward-codecs/src/java/org/apache/lucene/codecs/lucene46/Lucene46FieldInfosWriter.java?rev=1629501&r1=1629500&r2=1629501&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/lucene/backward-codecs/src/java/org/apache/lucene/codecs/lucene46/Lucene46FieldInfosWriter.java (original)
+++ lucene/dev/branches/branch_5x/lucene/backward-codecs/src/java/org/apache/lucene/codecs/lucene46/Lucene46FieldInfosWriter.java Sun Oct 5 14:43:47 2014
@@ -34,9 +34,9 @@ import org.apache.lucene.store.IOContext
/**
* Lucene 4.6 FieldInfos writer.
*
- * @see Lucene46FieldInfosFormat
- * @lucene.experimental
+ * @deprecated only for old 4.x segments
*/
+@Deprecated
final class Lucene46FieldInfosWriter extends FieldInfosWriter {
/** Sole constructor. */
Modified: lucene/dev/branches/branch_5x/lucene/backward-codecs/src/java/org/apache/lucene/codecs/lucene46/Lucene46SegmentInfoFormat.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/lucene/backward-codecs/src/java/org/apache/lucene/codecs/lucene46/Lucene46SegmentInfoFormat.java?rev=1629501&r1=1629500&r2=1629501&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/lucene/backward-codecs/src/java/org/apache/lucene/codecs/lucene46/Lucene46SegmentInfoFormat.java (original)
+++ lucene/dev/branches/branch_5x/lucene/backward-codecs/src/java/org/apache/lucene/codecs/lucene46/Lucene46SegmentInfoFormat.java Sun Oct 5 14:43:47 2014
@@ -17,54 +17,16 @@ package org.apache.lucene.codecs.lucene4
* limitations under the License.
*/
-import org.apache.lucene.codecs.CodecUtil;
import org.apache.lucene.codecs.SegmentInfoFormat;
import org.apache.lucene.codecs.SegmentInfoReader;
import org.apache.lucene.codecs.SegmentInfoWriter;
-import org.apache.lucene.index.IndexWriter; // javadocs
-import org.apache.lucene.index.SegmentInfo; // javadocs
-import org.apache.lucene.index.SegmentInfos; // javadocs
-import org.apache.lucene.store.DataOutput; // javadocs
+import org.apache.lucene.index.SegmentInfo;
/**
* Lucene 4.6 Segment info format.
- *
- * Files:
- *
- * - .si: Header, SegVersion, SegSize, IsCompoundFile, Diagnostics, Files, Footer
- *
- *
- * Data types:
- *
- *
- * - Header --> {@link CodecUtil#writeHeader CodecHeader}
- * - SegSize --> {@link DataOutput#writeInt Int32}
- * - SegVersion --> {@link DataOutput#writeString String}
- * - Files --> {@link DataOutput#writeStringSet Set<String>}
- * - Diagnostics --> {@link DataOutput#writeStringStringMap Map<String,String>}
- * - IsCompoundFile --> {@link DataOutput#writeByte Int8}
- * - Footer --> {@link CodecUtil#writeFooter CodecFooter}
- *
- *
- * Field Descriptions:
- *
- *
- * - SegVersion is the code version that created the segment.
- * - SegSize is the number of documents contained in the segment index.
- * - IsCompoundFile records whether the segment is written as a compound file or
- * not. If this is -1, the segment is not a compound file. If it is 1, the segment
- * is a compound file.
- * - The Diagnostics Map is privately written by {@link IndexWriter}, as a debugging aid,
- * for each segment it creates. It includes metadata like the current Lucene
- * version, OS, Java version, why the segment was created (merge, flush,
- * addIndexes), etc.
- * - Files is a list of files referred to by this segment.
- *
- *
- *
- * @see SegmentInfos
- * @lucene.experimental
+ * @deprecated only for old 4.x segments
*/
+@Deprecated
public class Lucene46SegmentInfoFormat extends SegmentInfoFormat {
private final SegmentInfoReader reader = new Lucene46SegmentInfoReader();
@@ -73,7 +35,7 @@ public class Lucene46SegmentInfoFormat e
}
@Override
- public SegmentInfoReader getSegmentInfoReader() {
+ public final SegmentInfoReader getSegmentInfoReader() {
return reader;
}
@@ -83,7 +45,7 @@ public class Lucene46SegmentInfoFormat e
}
/** File extension used to store {@link SegmentInfo}. */
- public final static String SI_EXTENSION = "si";
+ final static String SI_EXTENSION = "si";
static final String CODEC_NAME = "Lucene46SegmentInfo";
static final int VERSION_START = 0;
static final int VERSION_CHECKSUM = 1;
Modified: lucene/dev/branches/branch_5x/lucene/backward-codecs/src/java/org/apache/lucene/codecs/lucene46/Lucene46SegmentInfoReader.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/lucene/backward-codecs/src/java/org/apache/lucene/codecs/lucene46/Lucene46SegmentInfoReader.java?rev=1629501&r1=1629500&r2=1629501&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/lucene/backward-codecs/src/java/org/apache/lucene/codecs/lucene46/Lucene46SegmentInfoReader.java (original)
+++ lucene/dev/branches/branch_5x/lucene/backward-codecs/src/java/org/apache/lucene/codecs/lucene46/Lucene46SegmentInfoReader.java Sun Oct 5 14:43:47 2014
@@ -33,12 +33,11 @@ import org.apache.lucene.store.IOContext
import org.apache.lucene.util.Version;
/**
- * Lucene 4.6 implementation of {@link SegmentInfoReader}.
- *
- * @see Lucene46SegmentInfoFormat
- * @lucene.experimental
+ * Lucene 4.6 segment infos reader
+ * @deprecated only for old 4.x segments
*/
-public class Lucene46SegmentInfoReader extends SegmentInfoReader {
+@Deprecated
+final class Lucene46SegmentInfoReader extends SegmentInfoReader {
/** Sole constructor. */
public Lucene46SegmentInfoReader() {
Modified: lucene/dev/branches/branch_5x/lucene/backward-codecs/src/java/org/apache/lucene/codecs/lucene49/Lucene49Codec.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/lucene/backward-codecs/src/java/org/apache/lucene/codecs/lucene49/Lucene49Codec.java?rev=1629501&r1=1629500&r2=1629501&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/lucene/backward-codecs/src/java/org/apache/lucene/codecs/lucene49/Lucene49Codec.java (original)
+++ lucene/dev/branches/branch_5x/lucene/backward-codecs/src/java/org/apache/lucene/codecs/lucene49/Lucene49Codec.java Sun Oct 5 14:43:47 2014
@@ -20,9 +20,9 @@ package org.apache.lucene.codecs.lucene4
import java.io.IOException;
import org.apache.lucene.codecs.Codec;
+import org.apache.lucene.codecs.CompoundFormat;
import org.apache.lucene.codecs.DocValuesFormat;
import org.apache.lucene.codecs.FieldInfosFormat;
-import org.apache.lucene.codecs.FilterCodec;
import org.apache.lucene.codecs.LiveDocsFormat;
import org.apache.lucene.codecs.NormsConsumer;
import org.apache.lucene.codecs.NormsFormat;
@@ -30,6 +30,7 @@ import org.apache.lucene.codecs.Postings
import org.apache.lucene.codecs.SegmentInfoFormat;
import org.apache.lucene.codecs.StoredFieldsFormat;
import org.apache.lucene.codecs.TermVectorsFormat;
+import org.apache.lucene.codecs.lucene40.Lucene40CompoundFormat;
import org.apache.lucene.codecs.lucene40.Lucene40LiveDocsFormat;
import org.apache.lucene.codecs.lucene41.Lucene41StoredFieldsFormat;
import org.apache.lucene.codecs.lucene42.Lucene42TermVectorsFormat;
@@ -40,24 +41,17 @@ import org.apache.lucene.codecs.perfield
import org.apache.lucene.index.SegmentWriteState;
/**
- * Implements the Lucene 4.9 index format, with configurable per-field postings
- * and docvalues formats.
- *
- * If you want to reuse functionality of this codec in another codec, extend
- * {@link FilterCodec}.
- *
- * @see org.apache.lucene.codecs.lucene49 package documentation for file format details.
- * @lucene.experimental
+ * Implements the Lucene 4.9 index format
+ * @deprecated only for old 4.x segments
*/
-// NOTE: if we make largish changes in a minor release, easier to just make Lucene410Codec or whatever
-// if they are backwards compatible or smallish we can probably do the backwards in the postingsreader
-// (it writes a minor version, etc).
+@Deprecated
public class Lucene49Codec extends Codec {
private final StoredFieldsFormat fieldsFormat = new Lucene41StoredFieldsFormat();
private final TermVectorsFormat vectorsFormat = new Lucene42TermVectorsFormat();
private final FieldInfosFormat fieldInfosFormat = new Lucene46FieldInfosFormat();
private final SegmentInfoFormat segmentInfosFormat = new Lucene46SegmentInfoFormat();
private final LiveDocsFormat liveDocsFormat = new Lucene40LiveDocsFormat();
+ private final CompoundFormat compoundFormat = new Lucene40CompoundFormat();
private final PostingsFormat postingsFormat = new PerFieldPostingsFormat() {
@Override
@@ -79,12 +73,12 @@ public class Lucene49Codec extends Codec
}
@Override
- public final StoredFieldsFormat storedFieldsFormat() {
+ public StoredFieldsFormat storedFieldsFormat() {
return fieldsFormat;
}
@Override
- public final TermVectorsFormat termVectorsFormat() {
+ public TermVectorsFormat termVectorsFormat() {
return vectorsFormat;
}
@@ -107,6 +101,11 @@ public class Lucene49Codec extends Codec
public final LiveDocsFormat liveDocsFormat() {
return liveDocsFormat;
}
+
+ @Override
+ public CompoundFormat compoundFormat() {
+ return compoundFormat;
+ }
/** Returns the postings format that should be used for writing
* new segments of field
.
Modified: lucene/dev/branches/branch_5x/lucene/backward-codecs/src/java/org/apache/lucene/codecs/lucene49/Lucene49DocValuesConsumer.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/lucene/backward-codecs/src/java/org/apache/lucene/codecs/lucene49/Lucene49DocValuesConsumer.java?rev=1629501&r1=1629500&r2=1629501&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/lucene/backward-codecs/src/java/org/apache/lucene/codecs/lucene49/Lucene49DocValuesConsumer.java (original)
+++ lucene/dev/branches/branch_5x/lucene/backward-codecs/src/java/org/apache/lucene/codecs/lucene49/Lucene49DocValuesConsumer.java Sun Oct 5 14:43:47 2014
@@ -40,7 +40,11 @@ import org.apache.lucene.util.packed.Dir
import org.apache.lucene.util.packed.MonotonicBlockPackedWriter;
import org.apache.lucene.util.packed.PackedInts;
-/** writer for {@link Lucene49DocValuesFormat} */
+/**
+ * writer for 4.9 docvalues format
+ * @deprecated only for old 4.x segments
+ */
+@Deprecated
class Lucene49DocValuesConsumer extends DocValuesConsumer implements Closeable {
static final int BLOCK_SIZE = 16384;
Modified: lucene/dev/branches/branch_5x/lucene/backward-codecs/src/java/org/apache/lucene/codecs/lucene49/Lucene49DocValuesFormat.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/lucene/backward-codecs/src/java/org/apache/lucene/codecs/lucene49/Lucene49DocValuesFormat.java?rev=1629501&r1=1629500&r2=1629501&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/lucene/backward-codecs/src/java/org/apache/lucene/codecs/lucene49/Lucene49DocValuesFormat.java (original)
+++ lucene/dev/branches/branch_5x/lucene/backward-codecs/src/java/org/apache/lucene/codecs/lucene49/Lucene49DocValuesFormat.java Sun Oct 5 14:43:47 2014
@@ -19,151 +19,17 @@ package org.apache.lucene.codecs.lucene4
import java.io.IOException;
-import org.apache.lucene.codecs.CodecUtil;
import org.apache.lucene.codecs.DocValuesConsumer;
import org.apache.lucene.codecs.DocValuesProducer;
import org.apache.lucene.codecs.DocValuesFormat;
import org.apache.lucene.index.SegmentReadState;
import org.apache.lucene.index.SegmentWriteState;
-import org.apache.lucene.index.FieldInfo.DocValuesType;
-import org.apache.lucene.store.DataOutput;
-import org.apache.lucene.util.SmallFloat;
-import org.apache.lucene.util.fst.FST;
-import org.apache.lucene.util.packed.DirectWriter;
-import org.apache.lucene.util.packed.MonotonicBlockPackedWriter;
/**
* Lucene 4.9 DocValues format.
- *
- * Encodes the five per-document value types (Numeric,Binary,Sorted,SortedSet,SortedNumeric) with these strategies:
- *
- * {@link DocValuesType#NUMERIC NUMERIC}:
- *
- * - Delta-compressed: per-document integers written as deltas from the minimum value,
- * compressed with bitpacking. For more information, see {@link DirectWriter}.
- *
- Table-compressed: when the number of unique values is very small (< 256), and
- * when there are unused "gaps" in the range of values used (such as {@link SmallFloat}),
- * a lookup table is written instead. Each per-document entry is instead the ordinal
- * to this table, and those ordinals are compressed with bitpacking ({@link DirectWriter}).
- *
- GCD-compressed: when all numbers share a common divisor, such as dates, the greatest
- * common denominator (GCD) is computed, and quotients are stored using Delta-compressed Numerics.
- *
- Monotonic-compressed: when all numbers are monotonically increasing offsets, they are written
- * as blocks of bitpacked integers, encoding the deviation from the expected delta.
- *
- *
- * {@link DocValuesType#BINARY BINARY}:
- *
- * - Fixed-width Binary: one large concatenated byte[] is written, along with the fixed length.
- * Each document's value can be addressed directly with multiplication ({@code docID * length}).
- *
- Variable-width Binary: one large concatenated byte[] is written, along with end addresses
- * for each document. The addresses are written as Monotonic-compressed numerics.
- *
- Prefix-compressed Binary: values are written in chunks of 16, with the first value written
- * completely and other values sharing prefixes. chunk addresses are written as Monotonic-compressed
- * numerics.
- *
- *
- * {@link DocValuesType#SORTED SORTED}:
- *
- * - Sorted: a mapping of ordinals to deduplicated terms is written as Prefix-Compressed Binary,
- * along with the per-document ordinals written using one of the numeric strategies above.
- *
- *
- * {@link DocValuesType#SORTED_SET SORTED_SET}:
- *
- * - SortedSet: a mapping of ordinals to deduplicated terms is written as Prefix-Compressed Binary,
- * an ordinal list and per-document index into this list are written using the numeric strategies
- * above.
- *
- *
- * {@link DocValuesType#SORTED_NUMERIC SORTED_NUMERIC}:
- *
- * - SortedNumeric: a value list and per-document index into this list are written using the numeric
- * strategies above.
- *
- *
- * Files:
- *
- * - .dvd: DocValues data
- * - .dvm: DocValues metadata
- *
- *
- * -
- *
The DocValues metadata or .dvm file.
- * For DocValues field, this stores metadata, such as the offset into the
- * DocValues data (.dvd)
- * DocValues metadata (.dvm) --> Header,<Entry>NumFields,Footer
- *
- * - Entry --> NumericEntry | BinaryEntry | SortedEntry | SortedSetEntry | SortedNumericEntry
- * - NumericEntry --> GCDNumericEntry | TableNumericEntry | DeltaNumericEntry
- * - GCDNumericEntry --> NumericHeader,MinValue,GCD,BitsPerValue
- * - TableNumericEntry --> NumericHeader,TableSize,{@link DataOutput#writeLong Int64}TableSize,BitsPerValue
- * - DeltaNumericEntry --> NumericHeader,MinValue,BitsPerValue
- * - MonotonicNumericEntry --> NumericHeader,PackedVersion,BlockSize
- * - NumericHeader --> FieldNumber,EntryType,NumericType,MissingOffset,DataOffset,Count,EndOffset
- * - BinaryEntry --> FixedBinaryEntry | VariableBinaryEntry | PrefixBinaryEntry
- * - FixedBinaryEntry --> BinaryHeader
- * - VariableBinaryEntry --> BinaryHeader,AddressOffset,PackedVersion,BlockSize
- * - PrefixBinaryEntry --> BinaryHeader,AddressInterval,AddressOffset,PackedVersion,BlockSize
- * - BinaryHeader --> FieldNumber,EntryType,BinaryType,MissingOffset,MinLength,MaxLength,DataOffset
- * - SortedEntry --> FieldNumber,EntryType,BinaryEntry,NumericEntry
- * - SortedSetEntry --> EntryType,BinaryEntry,NumericEntry,NumericEntry
- * - SortedNumericEntry --> EntryType,NumericEntry,NumericEntry
- * - FieldNumber,PackedVersion,MinLength,MaxLength,BlockSize,ValueCount --> {@link DataOutput#writeVInt VInt}
- * - EntryType,CompressionType --> {@link DataOutput#writeByte Byte}
- * - Header --> {@link CodecUtil#writeHeader CodecHeader}
- * - MinValue,GCD,MissingOffset,AddressOffset,DataOffset,EndOffset --> {@link DataOutput#writeLong Int64}
- * - TableSize,BitsPerValue --> {@link DataOutput#writeVInt vInt}
- * - Footer --> {@link CodecUtil#writeFooter CodecFooter}
- *
- * Sorted fields have two entries: a BinaryEntry with the value metadata,
- * and an ordinary NumericEntry for the document-to-ord metadata.
- * SortedSet fields have three entries: a BinaryEntry with the value metadata,
- * and two NumericEntries for the document-to-ord-index and ordinal list metadata.
- * SortedNumeric fields have two entries: A NumericEntry with the value metadata,
- * and a numeric entry with the document-to-value index.
- * FieldNumber of -1 indicates the end of metadata.
- * EntryType is a 0 (NumericEntry) or 1 (BinaryEntry)
- * DataOffset is the pointer to the start of the data in the DocValues data (.dvd)
- * EndOffset is the pointer to the end of the data in the DocValues data (.dvd)
- * NumericType indicates how Numeric values will be compressed:
- *
- * - 0 --> delta-compressed. For each block of 16k integers, every integer is delta-encoded
- * from the minimum value within the block.
- *
- 1 -->, gcd-compressed. When all integers share a common divisor, only quotients are stored
- * using blocks of delta-encoded ints.
- *
- 2 --> table-compressed. When the number of unique numeric values is small and it would save space,
- * a lookup table of unique values is written, followed by the ordinal for each document.
- *
- * BinaryType indicates how Binary values will be stored:
- *
- * - 0 --> fixed-width. All values have the same length, addressing by multiplication.
- *
- 1 -->, variable-width. An address for each value is stored.
- *
- 2 --> prefix-compressed. An address to the start of every interval'th value is stored.
- *
- * MinLength and MaxLength represent the min and max byte[] value lengths for Binary values.
- * If they are equal, then all values are of a fixed size, and can be addressed as DataOffset + (docID * length).
- * Otherwise, the binary values are of variable size, and packed integer metadata (PackedVersion,BlockSize)
- * is written for the addresses.
- *
MissingOffset points to a byte[] containing a bitset of all documents that had a value for the field.
- * If its -1, then there are no missing values.
- *
Checksum contains the CRC32 checksum of all bytes in the .dvm file up
- * until the checksum. This is used to verify integrity of the file on opening the
- * index.
- *
-
- *
The DocValues data or .dvd file.
- * For DocValues field, this stores the actual per-document data (the heavy-lifting)
- * DocValues data (.dvd) --> Header,<NumericData | BinaryData | SortedData>NumFields,Footer
- *
- * - NumericData --> DeltaCompressedNumerics | TableCompressedNumerics | GCDCompressedNumerics
- * - BinaryData --> {@link DataOutput#writeByte Byte}DataLength,Addresses
- * - SortedData --> {@link FST FST<Int64>}
- * - DeltaCompressedNumerics,TableCompressedNumerics,GCDCompressedNumerics --> {@link DirectWriter PackedInts}
- * - Addresses --> {@link MonotonicBlockPackedWriter MonotonicBlockPackedInts(blockSize=16k)}
- * - Footer --> {@link CodecUtil#writeFooter CodecFooter}
- *
- *
- * @lucene.experimental
+ * @deprecated only for old 4.x segments
*/
+@Deprecated
public class Lucene49DocValuesFormat extends DocValuesFormat {
/** Sole Constructor */
@@ -177,7 +43,7 @@ public class Lucene49DocValuesFormat ext
}
@Override
- public DocValuesProducer fieldsProducer(SegmentReadState state) throws IOException {
+ public final DocValuesProducer fieldsProducer(SegmentReadState state) throws IOException {
return new Lucene49DocValuesProducer(state, DATA_CODEC, DATA_EXTENSION, META_CODEC, META_EXTENSION);
}
Modified: lucene/dev/branches/branch_5x/lucene/backward-codecs/src/java/org/apache/lucene/codecs/lucene49/Lucene49DocValuesProducer.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/lucene/backward-codecs/src/java/org/apache/lucene/codecs/lucene49/Lucene49DocValuesProducer.java?rev=1629501&r1=1629500&r2=1629501&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/lucene/backward-codecs/src/java/org/apache/lucene/codecs/lucene49/Lucene49DocValuesProducer.java (original)
+++ lucene/dev/branches/branch_5x/lucene/backward-codecs/src/java/org/apache/lucene/codecs/lucene49/Lucene49DocValuesProducer.java Sun Oct 5 14:43:47 2014
@@ -67,56 +67,75 @@ import org.apache.lucene.util.RamUsageEs
import org.apache.lucene.util.packed.DirectReader;
import org.apache.lucene.util.packed.MonotonicBlockPackedReader;
-/** reader for {@link Lucene49DocValuesFormat} */
+/**
+ * reader for 4.9 docvalues format
+ * @deprecated only for 4.x segments
+ */
+@Deprecated
class Lucene49DocValuesProducer extends DocValuesProducer implements Closeable {
- private final Map numerics;
- private final Map binaries;
- private final Map sortedSets;
- private final Map sortedNumerics;
- private final Map ords;
- private final Map ordIndexes;
+ private final Map numerics = new HashMap<>();
+ private final Map binaries = new HashMap<>();
+ private final Map sortedSets = new HashMap<>();
+ private final Map sortedNumerics = new HashMap<>();
+ private final Map ords = new HashMap<>();
+ private final Map ordIndexes = new HashMap<>();
private final AtomicLong ramBytesUsed;
private final IndexInput data;
private final int numFields;
private final int maxDoc;
- private final int version;
// memory-resident structures
private final Map addressInstances = new HashMap<>();
private final Map ordIndexInstances = new HashMap<>();
+ private final boolean merging;
+
+ // clone for merge: when merging we don't do any instances.put()s
+ Lucene49DocValuesProducer(Lucene49DocValuesProducer original) throws IOException {
+ assert Thread.holdsLock(original);
+ numerics.putAll(original.numerics);
+ binaries.putAll(original.binaries);
+ sortedSets.putAll(original.sortedSets);
+ sortedNumerics.putAll(original.sortedNumerics);
+ ords.putAll(original.ords);
+ ordIndexes.putAll(original.ordIndexes);
+ ramBytesUsed = new AtomicLong(original.ramBytesUsed());
+ data = original.data.clone();
+ numFields = original.numFields;
+ maxDoc = original.maxDoc;
+ addressInstances.putAll(original.addressInstances);
+ ordIndexInstances.putAll(original.ordIndexInstances);
+ merging = true;
+ }
+
/** expert: instantiates a new reader */
Lucene49DocValuesProducer(SegmentReadState state, String dataCodec, String dataExtension, String metaCodec, String metaExtension) throws IOException {
String metaName = IndexFileNames.segmentFileName(state.segmentInfo.name, state.segmentSuffix, metaExtension);
- // read in the entries from the metadata file.
- ChecksumIndexInput in = state.directory.openChecksumInput(metaName, state.context);
this.maxDoc = state.segmentInfo.getDocCount();
- boolean success = false;
- try {
- version = CodecUtil.checkHeader(in, metaCodec,
- Lucene49DocValuesFormat.VERSION_START,
- Lucene49DocValuesFormat.VERSION_CURRENT);
- numerics = new HashMap<>();
- ords = new HashMap<>();
- ordIndexes = new HashMap<>();
- binaries = new HashMap<>();
- sortedSets = new HashMap<>();
- sortedNumerics = new HashMap<>();
- numFields = readFields(in, state.fieldInfos);
-
- CodecUtil.checkFooter(in);
- success = true;
- } finally {
- if (success) {
- IOUtils.close(in);
- } else {
- IOUtils.closeWhileHandlingException(in);
+ merging = false;
+
+ int version = -1;
+ int numFields = -1;
+
+ // read in the entries from the metadata file.
+ try (ChecksumIndexInput in = state.directory.openChecksumInput(metaName, state.context)) {
+ Throwable priorE = null;
+ try {
+ version = CodecUtil.checkHeader(in, metaCodec,
+ Lucene49DocValuesFormat.VERSION_START,
+ Lucene49DocValuesFormat.VERSION_CURRENT);
+ numFields = readFields(in, state.fieldInfos);
+ } catch (Throwable exception) {
+ priorE = exception;
+ } finally {
+ CodecUtil.checkFooter(in, priorE);
}
}
+ this.numFields = numFields;
String dataName = IndexFileNames.segmentFileName(state.segmentInfo.name, state.segmentSuffix, dataExtension);
this.data = state.directory.openInput(dataName, state.context);
- success = false;
+ boolean success = false;
try {
final int version2 = CodecUtil.checkHeader(data, dataCodec,
Lucene49DocValuesFormat.VERSION_START,
@@ -443,8 +462,10 @@ class Lucene49DocValuesProducer extends
if (addrInstance == null) {
data.seek(bytes.addressesOffset);
addrInstance = MonotonicBlockPackedReader.of(data, bytes.packedIntsVersion, bytes.blockSize, bytes.count+1, false);
- addressInstances.put(field.name, addrInstance);
- ramBytesUsed.addAndGet(addrInstance.ramBytesUsed() + RamUsageEstimator.NUM_BYTES_INT);
+ if (!merging) {
+ addressInstances.put(field.name, addrInstance);
+ ramBytesUsed.addAndGet(addrInstance.ramBytesUsed() + RamUsageEstimator.NUM_BYTES_INT);
+ }
}
addresses = addrInstance;
return addresses;
@@ -489,8 +510,10 @@ class Lucene49DocValuesProducer extends
size = 1L + bytes.count / interval;
}
addrInstance = MonotonicBlockPackedReader.of(data, bytes.packedIntsVersion, bytes.blockSize, size, false);
- addressInstances.put(field.name, addrInstance);
- ramBytesUsed.addAndGet(addrInstance.ramBytesUsed() + RamUsageEstimator.NUM_BYTES_INT);
+ if (!merging) {
+ addressInstances.put(field.name, addrInstance);
+ ramBytesUsed.addAndGet(addrInstance.ramBytesUsed() + RamUsageEstimator.NUM_BYTES_INT);
+ }
}
addresses = addrInstance;
return addresses;
@@ -556,8 +579,10 @@ class Lucene49DocValuesProducer extends
if (ordIndexInstance == null) {
data.seek(entry.offset);
ordIndexInstance = MonotonicBlockPackedReader.of(data, entry.packedIntsVersion, entry.blockSize, entry.count+1, false);
- ordIndexInstances.put(field.name, ordIndexInstance);
- ramBytesUsed.addAndGet(ordIndexInstance.ramBytesUsed() + RamUsageEstimator.NUM_BYTES_INT);
+ if (!merging) {
+ ordIndexInstances.put(field.name, ordIndexInstance);
+ ramBytesUsed.addAndGet(ordIndexInstance.ramBytesUsed() + RamUsageEstimator.NUM_BYTES_INT);
+ }
}
ordIndex = ordIndexInstance;
return ordIndex;
@@ -729,6 +754,11 @@ class Lucene49DocValuesProducer extends
data.close();
}
+ @Override
+ public synchronized DocValuesProducer getMergeInstance() throws IOException {
+ return new Lucene49DocValuesProducer(this);
+ }
+
/** metadata entry for a numeric docvalues field */
static class NumericEntry {
private NumericEntry() {}
Modified: lucene/dev/branches/branch_5x/lucene/backward-codecs/src/test/org/apache/lucene/codecs/lucene40/Lucene40DocValuesWriter.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/lucene/backward-codecs/src/test/org/apache/lucene/codecs/lucene40/Lucene40DocValuesWriter.java?rev=1629501&r1=1629500&r2=1629501&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/lucene/backward-codecs/src/test/org/apache/lucene/codecs/lucene40/Lucene40DocValuesWriter.java (original)
+++ lucene/dev/branches/branch_5x/lucene/backward-codecs/src/test/org/apache/lucene/codecs/lucene40/Lucene40DocValuesWriter.java Sun Oct 5 14:43:47 2014
@@ -26,18 +26,21 @@ import org.apache.lucene.codecs.CodecUti
import org.apache.lucene.codecs.DocValuesConsumer;
import org.apache.lucene.codecs.MissingOrdRemapper;
import org.apache.lucene.codecs.lucene40.Lucene40FieldInfosReader.LegacyDocValuesType;
-import org.apache.lucene.index.BinaryDocValues;
import org.apache.lucene.index.FieldInfo;
import org.apache.lucene.index.IndexFileNames;
import org.apache.lucene.index.SegmentWriteState;
-import org.apache.lucene.store.CompoundFileDirectory;
import org.apache.lucene.store.Directory;
import org.apache.lucene.store.IndexOutput;
import org.apache.lucene.util.BytesRef;
import org.apache.lucene.util.IOUtils;
import org.apache.lucene.util.packed.PackedInts;
-class Lucene40DocValuesWriter extends DocValuesConsumer {
+/**
+ * Writer for 4.0 docvalues format
+ * @deprecated for test purposes only
+ */
+@Deprecated
+final class Lucene40DocValuesWriter extends DocValuesConsumer {
private final Directory dir;
private final SegmentWriteState state;
private final String legacyKey;
@@ -47,7 +50,7 @@ class Lucene40DocValuesWriter extends Do
Lucene40DocValuesWriter(SegmentWriteState state, String filename, String legacyKey) throws IOException {
this.state = state;
this.legacyKey = legacyKey;
- this.dir = new CompoundFileDirectory(state.directory, filename, state.context, true);
+ this.dir = new Lucene40CompoundReader(state.directory, filename, state.context, true);
}
@Override
Modified: lucene/dev/branches/branch_5x/lucene/backward-codecs/src/test/org/apache/lucene/codecs/lucene40/Lucene40FieldInfosWriter.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/lucene/backward-codecs/src/test/org/apache/lucene/codecs/lucene40/Lucene40FieldInfosWriter.java?rev=1629501&r1=1629500&r2=1629501&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/lucene/backward-codecs/src/test/org/apache/lucene/codecs/lucene40/Lucene40FieldInfosWriter.java (original)
+++ lucene/dev/branches/branch_5x/lucene/backward-codecs/src/test/org/apache/lucene/codecs/lucene40/Lucene40FieldInfosWriter.java Sun Oct 5 14:43:47 2014
@@ -33,13 +33,11 @@ import org.apache.lucene.store.IndexOutp
import org.apache.lucene.util.IOUtils;
/**
- * Lucene 4.0 FieldInfos writer.
- *
- * @see Lucene40FieldInfosFormat
- * @lucene.experimental
+ * Writer for 4.0 fieldinfos format
+ * @deprecated for test purposes only
*/
@Deprecated
-public class Lucene40FieldInfosWriter extends FieldInfosWriter {
+public final class Lucene40FieldInfosWriter extends FieldInfosWriter {
/** Sole constructor. */
public Lucene40FieldInfosWriter() {
Modified: lucene/dev/branches/branch_5x/lucene/backward-codecs/src/test/org/apache/lucene/codecs/lucene40/Lucene40PostingsWriter.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/lucene/backward-codecs/src/test/org/apache/lucene/codecs/lucene40/Lucene40PostingsWriter.java?rev=1629501&r1=1629500&r2=1629501&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/lucene/backward-codecs/src/test/org/apache/lucene/codecs/lucene40/Lucene40PostingsWriter.java (original)
+++ lucene/dev/branches/branch_5x/lucene/backward-codecs/src/test/org/apache/lucene/codecs/lucene40/Lucene40PostingsWriter.java Sun Oct 5 14:43:47 2014
@@ -37,12 +37,11 @@ import org.apache.lucene.util.BytesRef;
import org.apache.lucene.util.IOUtils;
/**
- * Concrete class that writes the 4.0 frq/prx postings format.
- *
- * @see Lucene40PostingsFormat
- * @lucene.experimental
+ * Writer for 4.0 postings format
+ * @deprecated for test purposes only
*/
-public final class Lucene40PostingsWriter extends PushPostingsWriterBase {
+@Deprecated
+final class Lucene40PostingsWriter extends PushPostingsWriterBase {
final IndexOutput freqOut;
final IndexOutput proxOut;
Modified: lucene/dev/branches/branch_5x/lucene/backward-codecs/src/test/org/apache/lucene/codecs/lucene40/Lucene40RWCodec.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/lucene/backward-codecs/src/test/org/apache/lucene/codecs/lucene40/Lucene40RWCodec.java?rev=1629501&r1=1629500&r2=1629501&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/lucene/backward-codecs/src/test/org/apache/lucene/codecs/lucene40/Lucene40RWCodec.java (original)
+++ lucene/dev/branches/branch_5x/lucene/backward-codecs/src/test/org/apache/lucene/codecs/lucene40/Lucene40RWCodec.java Sun Oct 5 14:43:47 2014
@@ -28,8 +28,11 @@ import org.apache.lucene.codecs.TermVect
* limitations under the License.
*/
-/** Read-write version of Lucene40Codec for testing */
-@SuppressWarnings("deprecation")
+/**
+ * Read-write version of 4.0 codec for testing
+ * @deprecated for test purposes only
+ */
+@Deprecated
public final class Lucene40RWCodec extends Lucene40Codec {
private final FieldInfosFormat fieldInfos = new Lucene40FieldInfosFormat() {
Modified: lucene/dev/branches/branch_5x/lucene/backward-codecs/src/test/org/apache/lucene/codecs/lucene40/Lucene40RWDocValuesFormat.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/lucene/backward-codecs/src/test/org/apache/lucene/codecs/lucene40/Lucene40RWDocValuesFormat.java?rev=1629501&r1=1629500&r2=1629501&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/lucene/backward-codecs/src/test/org/apache/lucene/codecs/lucene40/Lucene40RWDocValuesFormat.java (original)
+++ lucene/dev/branches/branch_5x/lucene/backward-codecs/src/test/org/apache/lucene/codecs/lucene40/Lucene40RWDocValuesFormat.java Sun Oct 5 14:43:47 2014
@@ -23,15 +23,18 @@ import org.apache.lucene.codecs.DocValue
import org.apache.lucene.index.IndexFileNames;
import org.apache.lucene.index.SegmentWriteState;
-/** Read-write version of {@link Lucene40DocValuesFormat} for testing */
-@SuppressWarnings("deprecation")
-public class Lucene40RWDocValuesFormat extends Lucene40DocValuesFormat {
+/**
+ * Read-write version of 4.0 docvalues format for testing
+ * @deprecated for test purposes only
+ */
+@Deprecated
+public final class Lucene40RWDocValuesFormat extends Lucene40DocValuesFormat {
@Override
public DocValuesConsumer fieldsConsumer(SegmentWriteState state) throws IOException {
String filename = IndexFileNames.segmentFileName(state.segmentInfo.name,
"dv",
- IndexFileNames.COMPOUND_FILE_EXTENSION);
+ Lucene40CompoundFormat.COMPOUND_FILE_EXTENSION);
return new Lucene40DocValuesWriter(state, filename, Lucene40FieldInfosReader.LEGACY_DV_TYPE_KEY);
}
}
Modified: lucene/dev/branches/branch_5x/lucene/backward-codecs/src/test/org/apache/lucene/codecs/lucene40/Lucene40RWNormsFormat.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/lucene/backward-codecs/src/test/org/apache/lucene/codecs/lucene40/Lucene40RWNormsFormat.java?rev=1629501&r1=1629500&r2=1629501&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/lucene/backward-codecs/src/test/org/apache/lucene/codecs/lucene40/Lucene40RWNormsFormat.java (original)
+++ lucene/dev/branches/branch_5x/lucene/backward-codecs/src/test/org/apache/lucene/codecs/lucene40/Lucene40RWNormsFormat.java Sun Oct 5 14:43:47 2014
@@ -24,15 +24,18 @@ import org.apache.lucene.index.FieldInfo
import org.apache.lucene.index.IndexFileNames;
import org.apache.lucene.index.SegmentWriteState;
-/** Read-write version of {@link Lucene40NormsFormat} for testing */
-@SuppressWarnings("deprecation")
-public class Lucene40RWNormsFormat extends Lucene40NormsFormat {
+/**
+ * Read-write version of 4.0 norms format for testing
+ * @deprecated for test purposes only
+ */
+@Deprecated
+public final class Lucene40RWNormsFormat extends Lucene40NormsFormat {
@Override
public NormsConsumer normsConsumer(SegmentWriteState state) throws IOException {
String filename = IndexFileNames.segmentFileName(state.segmentInfo.name,
"nrm",
- IndexFileNames.COMPOUND_FILE_EXTENSION);
+ Lucene40CompoundFormat.COMPOUND_FILE_EXTENSION);
final Lucene40DocValuesWriter impl = new Lucene40DocValuesWriter(state, filename, Lucene40FieldInfosReader.LEGACY_NORM_TYPE_KEY);
return new NormsConsumer() {
@Override
Modified: lucene/dev/branches/branch_5x/lucene/backward-codecs/src/test/org/apache/lucene/codecs/lucene40/Lucene40RWPostingsFormat.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/lucene/backward-codecs/src/test/org/apache/lucene/codecs/lucene40/Lucene40RWPostingsFormat.java?rev=1629501&r1=1629500&r2=1629501&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/lucene/backward-codecs/src/test/org/apache/lucene/codecs/lucene40/Lucene40RWPostingsFormat.java (original)
+++ lucene/dev/branches/branch_5x/lucene/backward-codecs/src/test/org/apache/lucene/codecs/lucene40/Lucene40RWPostingsFormat.java Sun Oct 5 14:43:47 2014
@@ -23,14 +23,19 @@ import org.apache.lucene.codecs.FieldsCo
import org.apache.lucene.codecs.PostingsWriterBase;
import org.apache.lucene.codecs.blocktree.BlockTreeTermsWriter;
import org.apache.lucene.index.SegmentWriteState;
-import org.apache.lucene.util.LuceneTestCase;
/**
- * Read-write version of {@link Lucene40PostingsFormat} for testing.
+ * Read-write version of 4.0 postings format for testing
+ * @deprecated for test purposes only
*/
-@SuppressWarnings("deprecation")
-public class Lucene40RWPostingsFormat extends Lucene40PostingsFormat {
+@Deprecated
+public final class Lucene40RWPostingsFormat extends Lucene40PostingsFormat {
+ /** minimum items (terms or sub-blocks) per block for 4.0 BlockTree */
+ final static int MIN_BLOCK_SIZE = 25;
+ /** maximum items (terms or sub-blocks) per block for 4.0 BlockTree */
+ final static int MAX_BLOCK_SIZE = 48;
+
@Override
public FieldsConsumer fieldsConsumer(SegmentWriteState state) throws IOException {
PostingsWriterBase docs = new Lucene40PostingsWriter(state);
@@ -41,7 +46,7 @@ public class Lucene40RWPostingsFormat ex
// Or... you must make a new Codec for this?
boolean success = false;
try {
- FieldsConsumer ret = new BlockTreeTermsWriter(state, docs, minBlockSize, maxBlockSize);
+ FieldsConsumer ret = new BlockTreeTermsWriter(state, docs, MIN_BLOCK_SIZE, MAX_BLOCK_SIZE);
success = true;
return ret;
} finally {
Modified: lucene/dev/branches/branch_5x/lucene/backward-codecs/src/test/org/apache/lucene/codecs/lucene40/Lucene40RWSegmentInfoFormat.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/lucene/backward-codecs/src/test/org/apache/lucene/codecs/lucene40/Lucene40RWSegmentInfoFormat.java?rev=1629501&r1=1629500&r2=1629501&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/lucene/backward-codecs/src/test/org/apache/lucene/codecs/lucene40/Lucene40RWSegmentInfoFormat.java (original)
+++ lucene/dev/branches/branch_5x/lucene/backward-codecs/src/test/org/apache/lucene/codecs/lucene40/Lucene40RWSegmentInfoFormat.java Sun Oct 5 14:43:47 2014
@@ -19,8 +19,12 @@ package org.apache.lucene.codecs.lucene4
import org.apache.lucene.codecs.SegmentInfoWriter;
-/** read-write version of 4.0 segmentinfos for testing */
-public class Lucene40RWSegmentInfoFormat extends Lucene40SegmentInfoFormat {
+/**
+ * Read-write version of 4.0 segmentinfo format for testing
+ * @deprecated for test purposes only
+ */
+@Deprecated
+public final class Lucene40RWSegmentInfoFormat extends Lucene40SegmentInfoFormat {
@Override
public SegmentInfoWriter getSegmentInfoWriter() {
Modified: lucene/dev/branches/branch_5x/lucene/backward-codecs/src/test/org/apache/lucene/codecs/lucene40/Lucene40RWStoredFieldsFormat.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/lucene/backward-codecs/src/test/org/apache/lucene/codecs/lucene40/Lucene40RWStoredFieldsFormat.java?rev=1629501&r1=1629500&r2=1629501&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/lucene/backward-codecs/src/test/org/apache/lucene/codecs/lucene40/Lucene40RWStoredFieldsFormat.java (original)
+++ lucene/dev/branches/branch_5x/lucene/backward-codecs/src/test/org/apache/lucene/codecs/lucene40/Lucene40RWStoredFieldsFormat.java Sun Oct 5 14:43:47 2014
@@ -24,10 +24,12 @@ import org.apache.lucene.index.SegmentIn
import org.apache.lucene.store.Directory;
import org.apache.lucene.store.IOContext;
-/**
- * Simulates writing Lucene 4.0 Stored Fields Format.
- */
-public class Lucene40RWStoredFieldsFormat extends Lucene40StoredFieldsFormat {
+/**
+ * Read-write version of 4.0 stored fields format for testing
+ * @deprecated for test purposes only
+ */
+@Deprecated
+final class Lucene40RWStoredFieldsFormat extends Lucene40StoredFieldsFormat {
@Override
public StoredFieldsWriter fieldsWriter(Directory directory, SegmentInfo si, IOContext context) throws IOException {
Modified: lucene/dev/branches/branch_5x/lucene/backward-codecs/src/test/org/apache/lucene/codecs/lucene40/Lucene40RWTermVectorsFormat.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/lucene/backward-codecs/src/test/org/apache/lucene/codecs/lucene40/Lucene40RWTermVectorsFormat.java?rev=1629501&r1=1629500&r2=1629501&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/lucene/backward-codecs/src/test/org/apache/lucene/codecs/lucene40/Lucene40RWTermVectorsFormat.java (original)
+++ lucene/dev/branches/branch_5x/lucene/backward-codecs/src/test/org/apache/lucene/codecs/lucene40/Lucene40RWTermVectorsFormat.java Sun Oct 5 14:43:47 2014
@@ -23,12 +23,13 @@ import org.apache.lucene.codecs.TermVect
import org.apache.lucene.index.SegmentInfo;
import org.apache.lucene.store.Directory;
import org.apache.lucene.store.IOContext;
-import org.apache.lucene.util.LuceneTestCase;
-/**
- * Simulates writing Lucene 4.0 Stored Fields Format.
- */
-public class Lucene40RWTermVectorsFormat extends Lucene40TermVectorsFormat {
+/**
+ * Read-write version of 4.0 term vectors format for testing
+ * @deprecated for test purposes only
+ */
+@Deprecated
+public final class Lucene40RWTermVectorsFormat extends Lucene40TermVectorsFormat {
@Override
public TermVectorsWriter vectorsWriter(Directory directory, SegmentInfo segmentInfo, IOContext context) throws IOException {
Modified: lucene/dev/branches/branch_5x/lucene/backward-codecs/src/test/org/apache/lucene/codecs/lucene40/Lucene40SegmentInfoWriter.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/lucene/backward-codecs/src/test/org/apache/lucene/codecs/lucene40/Lucene40SegmentInfoWriter.java?rev=1629501&r1=1629500&r2=1629501&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/lucene/backward-codecs/src/test/org/apache/lucene/codecs/lucene40/Lucene40SegmentInfoWriter.java (original)
+++ lucene/dev/branches/branch_5x/lucene/backward-codecs/src/test/org/apache/lucene/codecs/lucene40/Lucene40SegmentInfoWriter.java Sun Oct 5 14:43:47 2014
@@ -31,13 +31,11 @@ import org.apache.lucene.store.IndexOutp
import org.apache.lucene.util.IOUtils;
/**
- * Lucene 4.0 implementation of {@link SegmentInfoWriter}.
- *
- * @see Lucene40SegmentInfoFormat
- * @lucene.experimental
+ * writer for 4.0 segmentinfos for testing
+ * @deprecated for test purposes only
*/
@Deprecated
-public class Lucene40SegmentInfoWriter extends SegmentInfoWriter {
+public final class Lucene40SegmentInfoWriter extends SegmentInfoWriter {
/** Sole constructor. */
public Lucene40SegmentInfoWriter() {
Modified: lucene/dev/branches/branch_5x/lucene/backward-codecs/src/test/org/apache/lucene/codecs/lucene40/Lucene40SkipListWriter.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/lucene/backward-codecs/src/test/org/apache/lucene/codecs/lucene40/Lucene40SkipListWriter.java?rev=1629501&r1=1629500&r2=1629501&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/lucene/backward-codecs/src/test/org/apache/lucene/codecs/lucene40/Lucene40SkipListWriter.java (original)
+++ lucene/dev/branches/branch_5x/lucene/backward-codecs/src/test/org/apache/lucene/codecs/lucene40/Lucene40SkipListWriter.java Sun Oct 5 14:43:47 2014
@@ -25,14 +25,11 @@ import org.apache.lucene.codecs.MultiLev
/**
- * Implements the skip list writer for the 4.0 posting list format
- * that stores positions and payloads.
- *
- * @see Lucene40PostingsFormat
- * @deprecated Only for reading old 4.0 segments
+ * Writer of 4.0 skip lists for testing
+ * @deprecated for test purposes only
*/
@Deprecated
-public class Lucene40SkipListWriter extends MultiLevelSkipListWriter {
+final class Lucene40SkipListWriter extends MultiLevelSkipListWriter {
private int[] lastSkipDoc;
private int[] lastSkipPayloadLength;
private int[] lastSkipOffsetLength;
Modified: lucene/dev/branches/branch_5x/lucene/backward-codecs/src/test/org/apache/lucene/codecs/lucene40/Lucene40StoredFieldsWriter.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/lucene/backward-codecs/src/test/org/apache/lucene/codecs/lucene40/Lucene40StoredFieldsWriter.java?rev=1629501&r1=1629500&r2=1629501&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/lucene/backward-codecs/src/test/org/apache/lucene/codecs/lucene40/Lucene40StoredFieldsWriter.java (original)
+++ lucene/dev/branches/branch_5x/lucene/backward-codecs/src/test/org/apache/lucene/codecs/lucene40/Lucene40StoredFieldsWriter.java Sun Oct 5 14:43:47 2014
@@ -34,15 +34,12 @@ import org.apache.lucene.util.IOUtils;
import static org.apache.lucene.codecs.lucene40.Lucene40StoredFieldsReader.*;
-/**
- * Class responsible for writing stored document fields.
- *
- * It uses <segment>.fdt and <segment>.fdx; files.
- *
- * @see Lucene40StoredFieldsFormat
- * @lucene.experimental
+/**
+ * Writer for 4.0 stored fields format for testing
+ * @deprecated for test purposes only
*/
-public final class Lucene40StoredFieldsWriter extends StoredFieldsWriter {
+@Deprecated
+final class Lucene40StoredFieldsWriter extends StoredFieldsWriter {
private final Directory directory;
private final String segment;
Modified: lucene/dev/branches/branch_5x/lucene/backward-codecs/src/test/org/apache/lucene/codecs/lucene40/Lucene40TermVectorsWriter.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/lucene/backward-codecs/src/test/org/apache/lucene/codecs/lucene40/Lucene40TermVectorsWriter.java?rev=1629501&r1=1629500&r2=1629501&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/lucene/backward-codecs/src/test/org/apache/lucene/codecs/lucene40/Lucene40TermVectorsWriter.java (original)
+++ lucene/dev/branches/branch_5x/lucene/backward-codecs/src/test/org/apache/lucene/codecs/lucene40/Lucene40TermVectorsWriter.java Sun Oct 5 14:43:47 2014
@@ -36,24 +36,12 @@ import org.apache.lucene.util.StringHelp
import static org.apache.lucene.codecs.lucene40.Lucene40TermVectorsReader.*;
-
-// TODO: make a new 4.0 TV format that encodes better
-// - use startOffset (not endOffset) as base for delta on
-// next startOffset because today for syns or ngrams or
-// WDF or shingles etc. we are encoding negative vints
-// (= slow, 5 bytes per)
-// - if doc has no term vectors, write 0 into the tvx
-// file; saves a seek to tvd only to read a 0 vint (and
-// saves a byte in tvd)
-
/**
- * Lucene 4.0 Term Vectors writer.
- *
- * It writes .tvd, .tvf, and .tvx files.
- *
- * @see Lucene40TermVectorsFormat
+ * Writer for 4.0 term vectors format for testing
+ * @deprecated for test purposes only
*/
-public final class Lucene40TermVectorsWriter extends TermVectorsWriter {
+@Deprecated
+final class Lucene40TermVectorsWriter extends TermVectorsWriter {
private final Directory directory;
private final String segment;
private IndexOutput tvx = null, tvd = null, tvf = null;
Modified: lucene/dev/branches/branch_5x/lucene/backward-codecs/src/test/org/apache/lucene/codecs/lucene40/TestBitVector.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/lucene/backward-codecs/src/test/org/apache/lucene/codecs/lucene40/TestBitVector.java?rev=1629501&r1=1629500&r2=1629501&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/lucene/backward-codecs/src/test/org/apache/lucene/codecs/lucene40/TestBitVector.java (original)
+++ lucene/dev/branches/branch_5x/lucene/backward-codecs/src/test/org/apache/lucene/codecs/lucene40/TestBitVector.java Sun Oct 5 14:43:47 2014
@@ -24,7 +24,6 @@ import org.apache.lucene.store.MockDirec
import org.apache.lucene.store.RAMDirectory;
import org.apache.lucene.util.LuceneTestCase;
import org.apache.lucene.util.TestUtil;
-import org.apache.lucene.util.TestUtil;
/**
* TestBitVector
tests the BitVector
, obviously.
Modified: lucene/dev/branches/branch_5x/lucene/backward-codecs/src/test/org/apache/lucene/codecs/lucene40/TestLucene40StoredFieldsFormat.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/lucene/backward-codecs/src/test/org/apache/lucene/codecs/lucene40/TestLucene40StoredFieldsFormat.java?rev=1629501&r1=1629500&r2=1629501&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/lucene/backward-codecs/src/test/org/apache/lucene/codecs/lucene40/TestLucene40StoredFieldsFormat.java (original)
+++ lucene/dev/branches/branch_5x/lucene/backward-codecs/src/test/org/apache/lucene/codecs/lucene40/TestLucene40StoredFieldsFormat.java Sun Oct 5 14:43:47 2014
@@ -19,7 +19,6 @@ package org.apache.lucene.codecs.lucene4
import org.apache.lucene.codecs.Codec;
import org.apache.lucene.index.BaseStoredFieldsFormatTestCase;
-import org.junit.BeforeClass;
public class TestLucene40StoredFieldsFormat extends BaseStoredFieldsFormatTestCase {
Modified: lucene/dev/branches/branch_5x/lucene/backward-codecs/src/test/org/apache/lucene/codecs/lucene40/TestLucene40TermVectorsFormat.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/lucene/backward-codecs/src/test/org/apache/lucene/codecs/lucene40/TestLucene40TermVectorsFormat.java?rev=1629501&r1=1629500&r2=1629501&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/lucene/backward-codecs/src/test/org/apache/lucene/codecs/lucene40/TestLucene40TermVectorsFormat.java (original)
+++ lucene/dev/branches/branch_5x/lucene/backward-codecs/src/test/org/apache/lucene/codecs/lucene40/TestLucene40TermVectorsFormat.java Sun Oct 5 14:43:47 2014
@@ -19,7 +19,6 @@ package org.apache.lucene.codecs.lucene4
import org.apache.lucene.codecs.Codec;
import org.apache.lucene.index.BaseTermVectorsFormatTestCase;
-import org.junit.BeforeClass;
public class TestLucene40TermVectorsFormat extends BaseTermVectorsFormatTestCase {
Modified: lucene/dev/branches/branch_5x/lucene/backward-codecs/src/test/org/apache/lucene/codecs/lucene41/Lucene41RWCodec.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/lucene/backward-codecs/src/test/org/apache/lucene/codecs/lucene41/Lucene41RWCodec.java?rev=1629501&r1=1629500&r2=1629501&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/lucene/backward-codecs/src/test/org/apache/lucene/codecs/lucene41/Lucene41RWCodec.java (original)
+++ lucene/dev/branches/branch_5x/lucene/backward-codecs/src/test/org/apache/lucene/codecs/lucene41/Lucene41RWCodec.java Sun Oct 5 14:43:47 2014
@@ -15,7 +15,6 @@ import org.apache.lucene.codecs.lucene40
import org.apache.lucene.codecs.lucene40.Lucene40RWNormsFormat;
import org.apache.lucene.codecs.lucene40.Lucene40RWSegmentInfoFormat;
import org.apache.lucene.codecs.lucene40.Lucene40RWTermVectorsFormat;
-import org.apache.lucene.util.LuceneTestCase;
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
@@ -35,11 +34,12 @@ import org.apache.lucene.util.LuceneTest
*/
/**
- * Read-write version of {@link Lucene41Codec} for testing.
+ * Read-write version of 4.1 codec for testing
+ * @deprecated for test purposes only
*/
-@SuppressWarnings("deprecation")
-public class Lucene41RWCodec extends Lucene41Codec {
- private final StoredFieldsFormat fieldsFormat = new Lucene41StoredFieldsFormat();
+@Deprecated
+public final class Lucene41RWCodec extends Lucene41Codec {
+ private final StoredFieldsFormat fieldsFormat = new Lucene41RWStoredFieldsFormat();
private final FieldInfosFormat fieldInfos = new Lucene40FieldInfosFormat() {
@Override
public FieldInfosWriter getFieldInfosWriter() throws IOException {
Copied: lucene/dev/branches/branch_5x/lucene/backward-codecs/src/test/org/apache/lucene/codecs/lucene41/Lucene41StoredFieldsWriter.java (from r1629499, lucene/dev/trunk/lucene/backward-codecs/src/test/org/apache/lucene/codecs/lucene41/Lucene41StoredFieldsWriter.java)
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/lucene/backward-codecs/src/test/org/apache/lucene/codecs/lucene41/Lucene41StoredFieldsWriter.java?p2=lucene/dev/branches/branch_5x/lucene/backward-codecs/src/test/org/apache/lucene/codecs/lucene41/Lucene41StoredFieldsWriter.java&p1=lucene/dev/trunk/lucene/backward-codecs/src/test/org/apache/lucene/codecs/lucene41/Lucene41StoredFieldsWriter.java&r1=1629499&r2=1629501&rev=1629501&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/backward-codecs/src/test/org/apache/lucene/codecs/lucene41/Lucene41StoredFieldsWriter.java (original)
+++ lucene/dev/branches/branch_5x/lucene/backward-codecs/src/test/org/apache/lucene/codecs/lucene41/Lucene41StoredFieldsWriter.java Sun Oct 5 14:43:47 2014
@@ -41,7 +41,7 @@ import org.apache.lucene.index.FieldInfo
import org.apache.lucene.index.FieldInfos;
import org.apache.lucene.index.IndexFileNames;
import org.apache.lucene.index.SegmentInfo;
-import org.apache.lucene.index.StorableField;
+import org.apache.lucene.index.IndexableField;
import org.apache.lucene.store.DataOutput;
import org.apache.lucene.store.Directory;
import org.apache.lucene.store.IOContext;
@@ -229,7 +229,7 @@ final class Lucene41StoredFieldsWriter e
}
@Override
- public void writeField(FieldInfo info, StorableField field)
+ public void writeField(FieldInfo info, IndexableField field)
throws IOException {
++numStoredFieldsInDoc;
Modified: lucene/dev/branches/branch_5x/lucene/backward-codecs/src/test/org/apache/lucene/codecs/lucene42/Lucene42DocValuesConsumer.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/lucene/backward-codecs/src/test/org/apache/lucene/codecs/lucene42/Lucene42DocValuesConsumer.java?rev=1629501&r1=1629500&r2=1629501&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/lucene/backward-codecs/src/test/org/apache/lucene/codecs/lucene42/Lucene42DocValuesConsumer.java (original)
+++ lucene/dev/branches/branch_5x/lucene/backward-codecs/src/test/org/apache/lucene/codecs/lucene42/Lucene42DocValuesConsumer.java Sun Oct 5 14:43:47 2014
@@ -34,7 +34,6 @@ import org.apache.lucene.store.IndexOutp
import org.apache.lucene.util.ArrayUtil;
import org.apache.lucene.util.BytesRef;
import org.apache.lucene.util.IOUtils;
-import org.apache.lucene.util.IntsRef;
import org.apache.lucene.util.IntsRefBuilder;
import org.apache.lucene.util.MathUtil;
import org.apache.lucene.util.fst.Builder;
@@ -58,9 +57,11 @@ import static org.apache.lucene.codecs.l
import static org.apache.lucene.codecs.lucene42.Lucene42DocValuesProducer.UNCOMPRESSED;
/**
- * Writer for {@link Lucene42DocValuesFormat}
+ * Writer for 4.2 docvalues format for testing
+ * @deprecated for test purposes only
*/
-class Lucene42DocValuesConsumer extends DocValuesConsumer {
+@Deprecated
+final class Lucene42DocValuesConsumer extends DocValuesConsumer {
final IndexOutput data, meta;
final int maxDoc;
final float acceptableOverheadRatio;
Modified: lucene/dev/branches/branch_5x/lucene/backward-codecs/src/test/org/apache/lucene/codecs/lucene42/Lucene42FieldInfosWriter.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/lucene/backward-codecs/src/test/org/apache/lucene/codecs/lucene42/Lucene42FieldInfosWriter.java?rev=1629501&r1=1629500&r2=1629501&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/lucene/backward-codecs/src/test/org/apache/lucene/codecs/lucene42/Lucene42FieldInfosWriter.java (original)
+++ lucene/dev/branches/branch_5x/lucene/backward-codecs/src/test/org/apache/lucene/codecs/lucene42/Lucene42FieldInfosWriter.java Sun Oct 5 14:43:47 2014
@@ -33,10 +33,8 @@ import org.apache.lucene.store.IndexOutp
import org.apache.lucene.util.IOUtils;
/**
- * Lucene 4.2 FieldInfos writer.
- *
- * @see Lucene42FieldInfosFormat
- * @lucene.experimental
+ * Writer for 4.2 fieldinfos format for testing
+ * @deprecated for test purposes only
*/
@Deprecated
public final class Lucene42FieldInfosWriter extends FieldInfosWriter {
Modified: lucene/dev/branches/branch_5x/lucene/backward-codecs/src/test/org/apache/lucene/codecs/lucene42/Lucene42NormsConsumer.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/lucene/backward-codecs/src/test/org/apache/lucene/codecs/lucene42/Lucene42NormsConsumer.java?rev=1629501&r1=1629500&r2=1629501&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/lucene/backward-codecs/src/test/org/apache/lucene/codecs/lucene42/Lucene42NormsConsumer.java (original)
+++ lucene/dev/branches/branch_5x/lucene/backward-codecs/src/test/org/apache/lucene/codecs/lucene42/Lucene42NormsConsumer.java Sun Oct 5 14:43:47 2014
@@ -36,9 +36,11 @@ import org.apache.lucene.util.packed.Pac
import static org.apache.lucene.codecs.lucene42.Lucene42DocValuesProducer.VERSION_CURRENT;
/**
- * Writer for {@link Lucene42NormsFormat}
+ * Writer for 4.2 norms format for testing
+ * @deprecated for test purposes only
*/
-class Lucene42NormsConsumer extends NormsConsumer {
+@Deprecated
+final class Lucene42NormsConsumer extends NormsConsumer {
static final byte NUMBER = 0;
static final int BLOCK_SIZE = 4096;
Modified: lucene/dev/branches/branch_5x/lucene/backward-codecs/src/test/org/apache/lucene/codecs/lucene42/Lucene42RWCodec.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/lucene/backward-codecs/src/test/org/apache/lucene/codecs/lucene42/Lucene42RWCodec.java?rev=1629501&r1=1629500&r2=1629501&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/lucene/backward-codecs/src/test/org/apache/lucene/codecs/lucene42/Lucene42RWCodec.java (original)
+++ lucene/dev/branches/branch_5x/lucene/backward-codecs/src/test/org/apache/lucene/codecs/lucene42/Lucene42RWCodec.java Sun Oct 5 14:43:47 2014
@@ -24,17 +24,21 @@ import org.apache.lucene.codecs.FieldInf
import org.apache.lucene.codecs.FieldInfosWriter;
import org.apache.lucene.codecs.NormsFormat;
import org.apache.lucene.codecs.SegmentInfoFormat;
+import org.apache.lucene.codecs.StoredFieldsFormat;
+import org.apache.lucene.codecs.TermVectorsFormat;
import org.apache.lucene.codecs.lucene40.Lucene40RWSegmentInfoFormat;
-import org.apache.lucene.util.LuceneTestCase;
+import org.apache.lucene.codecs.lucene41.Lucene41RWStoredFieldsFormat;
/**
- * Read-write version of {@link Lucene42Codec} for testing.
+ * Read-Write version of 4.2 codec for testing
+ * @deprecated for test purposes only
*/
-@SuppressWarnings("deprecation")
-public class Lucene42RWCodec extends Lucene42Codec {
+@Deprecated
+public final class Lucene42RWCodec extends Lucene42Codec {
private static final DocValuesFormat dv = new Lucene42RWDocValuesFormat();
private static final NormsFormat norms = new Lucene42RWNormsFormat();
+ private static final StoredFieldsFormat storedFields = new Lucene41RWStoredFieldsFormat();
private final FieldInfosFormat fieldInfosFormat = new Lucene42FieldInfosFormat() {
@Override
@@ -64,4 +68,16 @@ public class Lucene42RWCodec extends Luc
public SegmentInfoFormat segmentInfoFormat() {
return segmentInfos;
}
+
+ @Override
+ public StoredFieldsFormat storedFieldsFormat() {
+ return storedFields;
+ }
+
+ private final TermVectorsFormat vectorsFormat = new Lucene42RWTermVectorsFormat();
+
+ @Override
+ public TermVectorsFormat termVectorsFormat() {
+ return vectorsFormat;
+ }
}