You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by rm...@apache.org on 2014/06/04 20:53:53 UTC
svn commit: r1600423 [1/2] - in /lucene/dev/branches/branch_4x: ./ lucene/
lucene/codecs/ lucene/codecs/src/java/org/apache/lucene/codecs/diskdv/
lucene/codecs/src/java/org/apache/lucene/codecs/memory/ lucene/core/
lucene/core/src/java/org/apache/lucen...
Author: rmuir
Date: Wed Jun 4 18:53:51 2014
New Revision: 1600423
URL: http://svn.apache.org/r1600423
Log:
LUCENE-5731: split out direct packed ints from in-ram ones
Added:
lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/codecs/lucene49/
- copied from r1600412, lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/lucene49/
lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/store/RandomAccessInput.java
- copied unchanged from r1600412, lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/store/RandomAccessInput.java
lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/util/packed/DirectReader.java
- copied unchanged from r1600412, lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/util/packed/DirectReader.java
lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/util/packed/DirectWriter.java
- copied unchanged from r1600412, lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/util/packed/DirectWriter.java
lucene/dev/branches/branch_4x/lucene/core/src/test/org/apache/lucene/codecs/lucene49/
- copied from r1600412, lucene/dev/trunk/lucene/core/src/test/org/apache/lucene/codecs/lucene49/
lucene/dev/branches/branch_4x/lucene/core/src/test/org/apache/lucene/util/packed/TestDirectPacked.java
- copied unchanged from r1600412, lucene/dev/trunk/lucene/core/src/test/org/apache/lucene/util/packed/TestDirectPacked.java
lucene/dev/branches/branch_4x/lucene/test-framework/src/java/org/apache/lucene/codecs/lucene46/
- copied from r1600412, lucene/dev/trunk/lucene/test-framework/src/java/org/apache/lucene/codecs/lucene46/
Modified:
lucene/dev/branches/branch_4x/ (props changed)
lucene/dev/branches/branch_4x/lucene/ (props changed)
lucene/dev/branches/branch_4x/lucene/CHANGES.txt (contents, props changed)
lucene/dev/branches/branch_4x/lucene/build.xml (contents, props changed)
lucene/dev/branches/branch_4x/lucene/codecs/ (props changed)
lucene/dev/branches/branch_4x/lucene/codecs/src/java/org/apache/lucene/codecs/diskdv/DiskDocValuesFormat.java
lucene/dev/branches/branch_4x/lucene/codecs/src/java/org/apache/lucene/codecs/diskdv/DiskDocValuesProducer.java
lucene/dev/branches/branch_4x/lucene/codecs/src/java/org/apache/lucene/codecs/diskdv/DiskNormsFormat.java
lucene/dev/branches/branch_4x/lucene/codecs/src/java/org/apache/lucene/codecs/memory/MemoryDocValuesConsumer.java
lucene/dev/branches/branch_4x/lucene/core/ (props changed)
lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/codecs/Codec.java
lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/codecs/FilterCodec.java
lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/codecs/compressing/CompressingTermVectorsWriter.java
lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/codecs/lucene42/Lucene42NormsConsumer.java
lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/codecs/lucene45/Lucene45Codec.java
lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/codecs/lucene45/Lucene45DocValuesConsumer.java
lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/codecs/lucene45/Lucene45DocValuesFormat.java
lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/codecs/lucene45/Lucene45DocValuesProducer.java
lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/codecs/lucene46/Lucene46Codec.java
lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/codecs/lucene49/Lucene49DocValuesProducer.java
lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/codecs/package.html
lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/store/ByteBufferIndexInput.java
lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/store/IndexInput.java
lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/util/packed/BlockPackedWriter.java
lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/util/packed/DirectPackedReader.java
lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/util/packed/PackedInts.java
lucene/dev/branches/branch_4x/lucene/core/src/resources/META-INF/services/org.apache.lucene.codecs.Codec
lucene/dev/branches/branch_4x/lucene/core/src/resources/META-INF/services/org.apache.lucene.codecs.DocValuesFormat
lucene/dev/branches/branch_4x/lucene/core/src/test/org/apache/lucene/TestExternalCodecs.java
lucene/dev/branches/branch_4x/lucene/core/src/test/org/apache/lucene/codecs/perfield/TestPerFieldDocValuesFormat.java
lucene/dev/branches/branch_4x/lucene/core/src/test/org/apache/lucene/codecs/perfield/TestPerFieldPostingsFormat2.java
lucene/dev/branches/branch_4x/lucene/core/src/test/org/apache/lucene/index/TestAddIndexes.java
lucene/dev/branches/branch_4x/lucene/core/src/test/org/apache/lucene/index/TestAllFilesHaveChecksumFooter.java
lucene/dev/branches/branch_4x/lucene/core/src/test/org/apache/lucene/index/TestAllFilesHaveCodecHeader.java
lucene/dev/branches/branch_4x/lucene/core/src/test/org/apache/lucene/index/TestBackwardsCompatibility.java (contents, props changed)
lucene/dev/branches/branch_4x/lucene/core/src/test/org/apache/lucene/index/TestBackwardsCompatibility3x.java
lucene/dev/branches/branch_4x/lucene/core/src/test/org/apache/lucene/index/TestBinaryDocValuesUpdates.java
lucene/dev/branches/branch_4x/lucene/core/src/test/org/apache/lucene/index/TestDirectoryReaderReopen.java
lucene/dev/branches/branch_4x/lucene/core/src/test/org/apache/lucene/index/TestDuelingCodecs.java
lucene/dev/branches/branch_4x/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterThreadsToSegments.java
lucene/dev/branches/branch_4x/lucene/core/src/test/org/apache/lucene/index/TestNumericDocValuesUpdates.java
lucene/dev/branches/branch_4x/lucene/core/src/test/org/apache/lucene/index/TestTieredMergePolicy.java
lucene/dev/branches/branch_4x/lucene/core/src/test/org/apache/lucene/util/TestNamedSPILoader.java
lucene/dev/branches/branch_4x/lucene/core/src/test/org/apache/lucene/util/packed/TestPackedInts.java
lucene/dev/branches/branch_4x/lucene/suggest/ (props changed)
lucene/dev/branches/branch_4x/lucene/suggest/src/java/org/apache/lucene/search/suggest/analyzing/AnalyzingInfixSuggester.java
lucene/dev/branches/branch_4x/lucene/test-framework/ (props changed)
lucene/dev/branches/branch_4x/lucene/test-framework/src/java/org/apache/lucene/codecs/asserting/AssertingCodec.java
lucene/dev/branches/branch_4x/lucene/test-framework/src/java/org/apache/lucene/codecs/asserting/AssertingDocValuesFormat.java
lucene/dev/branches/branch_4x/lucene/test-framework/src/java/org/apache/lucene/codecs/cheapbastard/CheapBastardCodec.java
lucene/dev/branches/branch_4x/lucene/test-framework/src/java/org/apache/lucene/codecs/compressing/CompressingCodec.java
lucene/dev/branches/branch_4x/lucene/test-framework/src/java/org/apache/lucene/codecs/lucene42/Lucene42DocValuesConsumer.java
lucene/dev/branches/branch_4x/lucene/test-framework/src/java/org/apache/lucene/codecs/lucene45/Lucene45RWCodec.java
lucene/dev/branches/branch_4x/lucene/test-framework/src/java/org/apache/lucene/index/BaseStoredFieldsFormatTestCase.java
lucene/dev/branches/branch_4x/lucene/test-framework/src/java/org/apache/lucene/index/RandomCodec.java
lucene/dev/branches/branch_4x/lucene/test-framework/src/java/org/apache/lucene/store/BaseDirectoryTestCase.java
lucene/dev/branches/branch_4x/lucene/test-framework/src/java/org/apache/lucene/util/TestRuleSetupAndRestoreClassEnv.java
lucene/dev/branches/branch_4x/lucene/test-framework/src/java/org/apache/lucene/util/TestUtil.java
lucene/dev/branches/branch_4x/lucene/test-framework/src/resources/META-INF/services/org.apache.lucene.codecs.Codec
lucene/dev/branches/branch_4x/solr/ (props changed)
lucene/dev/branches/branch_4x/solr/core/ (props changed)
lucene/dev/branches/branch_4x/solr/core/src/java/org/apache/solr/core/SchemaCodecFactory.java
lucene/dev/branches/branch_4x/solr/core/src/test-files/solr/collection1/conf/schema_codec.xml
lucene/dev/branches/branch_4x/solr/core/src/test/org/apache/solr/core/TestCodecSupport.java
Modified: lucene/dev/branches/branch_4x/lucene/CHANGES.txt
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/lucene/CHANGES.txt?rev=1600423&r1=1600422&r2=1600423&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/lucene/CHANGES.txt (original)
+++ lucene/dev/branches/branch_4x/lucene/CHANGES.txt Wed Jun 4 18:53:51 2014
@@ -33,6 +33,11 @@ New Features
filtered and constant-score queries to postings highlighter.
(Luca Cavanna via Robert Muir)
+* LUCENE-5731: Add RandomAccessInput, a random access API for directory.
+ Add DirectReader/Writer, optimized for reading packed integers directly
+ from Directory. Add Lucene49Codec and Lucene49DocValuesFormat that make
+ use of these. (Robert Muir)
+
Changes in Backwards Compatibility Policy
* LUCENE-5634: Add reuse argument to IndexableField.tokenStream. This
Modified: lucene/dev/branches/branch_4x/lucene/build.xml
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/lucene/build.xml?rev=1600423&r1=1600422&r2=1600423&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/lucene/build.xml (original)
+++ lucene/dev/branches/branch_4x/lucene/build.xml Wed Jun 4 18:53:51 2014
@@ -287,7 +287,7 @@
<classpath>
<path refid="groovy.classpath"/>
</classpath><![CDATA[
- // private static Codec defaultCodec = Codec . forName ( "Lucene46" ) ;
+ // private static Codec defaultCodec = Codec . forName ( "Lucene49" ) ;
defaultCodecMatcher = self.getToken() =~ /defaultCodec\s*=\s*Codec\s*\.\s*forName\s*\(\s*"([^"]+)"\s*\)\s*;/
self.setToken(defaultCodecMatcher[0][1].toLowerCase());
]]>
Modified: lucene/dev/branches/branch_4x/lucene/codecs/src/java/org/apache/lucene/codecs/diskdv/DiskDocValuesFormat.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/lucene/codecs/src/java/org/apache/lucene/codecs/diskdv/DiskDocValuesFormat.java?rev=1600423&r1=1600422&r2=1600423&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/lucene/codecs/src/java/org/apache/lucene/codecs/diskdv/DiskDocValuesFormat.java (original)
+++ lucene/dev/branches/branch_4x/lucene/codecs/src/java/org/apache/lucene/codecs/diskdv/DiskDocValuesFormat.java Wed Jun 4 18:53:51 2014
@@ -22,7 +22,7 @@ import java.io.IOException;
import org.apache.lucene.codecs.DocValuesConsumer;
import org.apache.lucene.codecs.DocValuesProducer;
import org.apache.lucene.codecs.DocValuesFormat;
-import org.apache.lucene.codecs.lucene45.Lucene45DocValuesConsumer;
+import org.apache.lucene.codecs.lucene49.Lucene49DocValuesConsumer;
import org.apache.lucene.index.FieldInfo;
import org.apache.lucene.index.SegmentReadState;
import org.apache.lucene.index.SegmentWriteState;
@@ -43,7 +43,7 @@ public final class DiskDocValuesFormat e
@Override
public DocValuesConsumer fieldsConsumer(SegmentWriteState state) throws IOException {
- return new Lucene45DocValuesConsumer(state, DATA_CODEC, DATA_EXTENSION, META_CODEC, META_EXTENSION) {
+ return new Lucene49DocValuesConsumer(state, DATA_CODEC, DATA_EXTENSION, META_CODEC, META_EXTENSION) {
@Override
protected void addTermsDict(FieldInfo field, Iterable<BytesRef> values) throws IOException {
addBinaryField(field, values);
Modified: lucene/dev/branches/branch_4x/lucene/codecs/src/java/org/apache/lucene/codecs/diskdv/DiskDocValuesProducer.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/lucene/codecs/src/java/org/apache/lucene/codecs/diskdv/DiskDocValuesProducer.java?rev=1600423&r1=1600422&r2=1600423&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/lucene/codecs/src/java/org/apache/lucene/codecs/diskdv/DiskDocValuesProducer.java (original)
+++ lucene/dev/branches/branch_4x/lucene/codecs/src/java/org/apache/lucene/codecs/diskdv/DiskDocValuesProducer.java Wed Jun 4 18:53:51 2014
@@ -19,13 +19,13 @@ package org.apache.lucene.codecs.diskdv;
import java.io.IOException;
-import org.apache.lucene.codecs.lucene45.Lucene45DocValuesProducer;
+import org.apache.lucene.codecs.lucene49.Lucene49DocValuesProducer;
import org.apache.lucene.index.FieldInfo;
import org.apache.lucene.index.SegmentReadState;
import org.apache.lucene.store.IndexInput;
import org.apache.lucene.util.packed.MonotonicBlockPackedReader;
-class DiskDocValuesProducer extends Lucene45DocValuesProducer {
+class DiskDocValuesProducer extends Lucene49DocValuesProducer {
DiskDocValuesProducer(SegmentReadState state, String dataCodec, String dataExtension, String metaCodec, String metaExtension) throws IOException {
super(state, dataCodec, dataExtension, metaCodec, metaExtension);
Modified: lucene/dev/branches/branch_4x/lucene/codecs/src/java/org/apache/lucene/codecs/diskdv/DiskNormsFormat.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/lucene/codecs/src/java/org/apache/lucene/codecs/diskdv/DiskNormsFormat.java?rev=1600423&r1=1600422&r2=1600423&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/lucene/codecs/src/java/org/apache/lucene/codecs/diskdv/DiskNormsFormat.java (original)
+++ lucene/dev/branches/branch_4x/lucene/codecs/src/java/org/apache/lucene/codecs/diskdv/DiskNormsFormat.java Wed Jun 4 18:53:51 2014
@@ -22,7 +22,7 @@ import java.io.IOException;
import org.apache.lucene.codecs.DocValuesConsumer;
import org.apache.lucene.codecs.DocValuesProducer;
import org.apache.lucene.codecs.NormsFormat;
-import org.apache.lucene.codecs.lucene45.Lucene45DocValuesConsumer;
+import org.apache.lucene.codecs.lucene49.Lucene49DocValuesConsumer;
import org.apache.lucene.index.SegmentReadState;
import org.apache.lucene.index.SegmentWriteState;
@@ -31,7 +31,7 @@ public final class DiskNormsFormat exten
@Override
public DocValuesConsumer normsConsumer(SegmentWriteState state) throws IOException {
- return new Lucene45DocValuesConsumer(state, DATA_CODEC, DATA_EXTENSION, META_CODEC, META_EXTENSION);
+ return new Lucene49DocValuesConsumer(state, DATA_CODEC, DATA_EXTENSION, META_CODEC, META_EXTENSION);
}
@Override
Modified: lucene/dev/branches/branch_4x/lucene/codecs/src/java/org/apache/lucene/codecs/memory/MemoryDocValuesConsumer.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/lucene/codecs/src/java/org/apache/lucene/codecs/memory/MemoryDocValuesConsumer.java?rev=1600423&r1=1600422&r2=1600423&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/lucene/codecs/src/java/org/apache/lucene/codecs/memory/MemoryDocValuesConsumer.java (original)
+++ lucene/dev/branches/branch_4x/lucene/codecs/src/java/org/apache/lucene/codecs/memory/MemoryDocValuesConsumer.java Wed Jun 4 18:53:51 2014
@@ -182,7 +182,7 @@ class MemoryDocValuesConsumer extends Do
data.writeLong(gcd);
data.writeVInt(BLOCK_SIZE);
- final BlockPackedWriter writer = new BlockPackedWriter(data, BLOCK_SIZE, PackedInts.DEFAULT);
+ final BlockPackedWriter writer = new BlockPackedWriter(data, BLOCK_SIZE);
for (Number nv : values) {
long value = nv == null ? 0 : nv.longValue();
writer.add((value - minValue) / gcd);
@@ -194,7 +194,7 @@ class MemoryDocValuesConsumer extends Do
meta.writeVInt(PackedInts.VERSION_CURRENT);
data.writeVInt(BLOCK_SIZE);
- final BlockPackedWriter writer = new BlockPackedWriter(data, BLOCK_SIZE, PackedInts.DEFAULT);
+ final BlockPackedWriter writer = new BlockPackedWriter(data, BLOCK_SIZE);
for (Number nv : values) {
writer.add(nv == null ? 0 : nv.longValue());
}
Modified: lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/codecs/Codec.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/codecs/Codec.java?rev=1600423&r1=1600422&r2=1600423&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/codecs/Codec.java (original)
+++ lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/codecs/Codec.java Wed Jun 4 18:53:51 2014
@@ -119,7 +119,7 @@ public abstract class Codec implements N
loader.reload(classloader);
}
- private static Codec defaultCodec = Codec.forName("Lucene46");
+ private static Codec defaultCodec = Codec.forName("Lucene49");
/** expert: returns the default codec used for newly created
* {@link IndexWriterConfig}s.
Modified: lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/codecs/FilterCodec.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/codecs/FilterCodec.java?rev=1600423&r1=1600422&r2=1600423&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/codecs/FilterCodec.java (original)
+++ lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/codecs/FilterCodec.java Wed Jun 4 18:53:51 2014
@@ -21,13 +21,13 @@ package org.apache.lucene.codecs;
* A codec that forwards all its method calls to another codec.
* <p>
* Extend this class when you need to reuse the functionality of an existing
- * codec. For example, if you want to build a codec that redefines Lucene46's
+ * codec. For example, if you want to build a codec that redefines Lucene49's
* {@link LiveDocsFormat}:
* <pre class="prettyprint">
* public final class CustomCodec extends FilterCodec {
*
* public CustomCodec() {
- * super("CustomCodec", new Lucene46Codec());
+ * super("CustomCodec", new Lucene49Codec());
* }
*
* public LiveDocsFormat liveDocsFormat() {
Modified: lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/codecs/compressing/CompressingTermVectorsWriter.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/codecs/compressing/CompressingTermVectorsWriter.java?rev=1600423&r1=1600422&r2=1600423&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/codecs/compressing/CompressingTermVectorsWriter.java (original)
+++ lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/codecs/compressing/CompressingTermVectorsWriter.java Wed Jun 4 18:53:51 2014
@@ -242,7 +242,7 @@ public final class CompressingTermVector
vectorsStream.writeVInt(PackedInts.VERSION_CURRENT);
vectorsStream.writeVInt(chunkSize);
- writer = new BlockPackedWriter(vectorsStream, BLOCK_SIZE, PackedInts.COMPACT);
+ writer = new BlockPackedWriter(vectorsStream, BLOCK_SIZE);
positionsBuf = new int[1024];
startOffsetsBuf = new int[1024];
Modified: lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/codecs/lucene42/Lucene42NormsConsumer.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/codecs/lucene42/Lucene42NormsConsumer.java?rev=1600423&r1=1600422&r2=1600423&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/codecs/lucene42/Lucene42NormsConsumer.java (original)
+++ lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/codecs/lucene42/Lucene42NormsConsumer.java Wed Jun 4 18:53:51 2014
@@ -153,7 +153,7 @@ class Lucene42NormsConsumer extends DocV
data.writeLong(gcd);
data.writeVInt(BLOCK_SIZE);
- final BlockPackedWriter writer = new BlockPackedWriter(data, BLOCK_SIZE, PackedInts.DEFAULT);
+ final BlockPackedWriter writer = new BlockPackedWriter(data, BLOCK_SIZE);
for (Number nv : values) {
long value = nv == null ? 0 : nv.longValue();
writer.add((value - minValue) / gcd);
@@ -165,7 +165,7 @@ class Lucene42NormsConsumer extends DocV
meta.writeVInt(PackedInts.VERSION_CURRENT);
data.writeVInt(BLOCK_SIZE);
- final BlockPackedWriter writer = new BlockPackedWriter(data, BLOCK_SIZE, PackedInts.DEFAULT);
+ final BlockPackedWriter writer = new BlockPackedWriter(data, BLOCK_SIZE);
for (Number nv : values) {
writer.add(nv == null ? 0 : nv.longValue());
}
Modified: lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/codecs/lucene45/Lucene45Codec.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/codecs/lucene45/Lucene45Codec.java?rev=1600423&r1=1600422&r2=1600423&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/codecs/lucene45/Lucene45Codec.java (original)
+++ lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/codecs/lucene45/Lucene45Codec.java Wed Jun 4 18:53:51 2014
@@ -17,7 +17,10 @@ package org.apache.lucene.codecs.lucene4
* limitations under the License.
*/
+import java.io.IOException;
+
import org.apache.lucene.codecs.Codec;
+import org.apache.lucene.codecs.DocValuesConsumer;
import org.apache.lucene.codecs.DocValuesFormat;
import org.apache.lucene.codecs.FieldInfosFormat;
import org.apache.lucene.codecs.FilterCodec;
@@ -35,6 +38,7 @@ import org.apache.lucene.codecs.lucene42
import org.apache.lucene.codecs.lucene42.Lucene42TermVectorsFormat;
import org.apache.lucene.codecs.perfield.PerFieldDocValuesFormat;
import org.apache.lucene.codecs.perfield.PerFieldPostingsFormat;
+import org.apache.lucene.index.SegmentWriteState;
/**
* Implements the Lucene 4.5 index format, with configurable per-field postings
@@ -134,10 +138,15 @@ public class Lucene45Codec extends Codec
private final PostingsFormat defaultFormat = PostingsFormat.forName("Lucene41");
private final DocValuesFormat defaultDVFormat = DocValuesFormat.forName("Lucene45");
- private final NormsFormat normsFormat = new Lucene42NormsFormat();
+ private final NormsFormat normsFormat = new Lucene42NormsFormat() {
+ @Override
+ public DocValuesConsumer normsConsumer(SegmentWriteState state) throws IOException {
+ throw new UnsupportedOperationException("this codec can only be used for reading");
+ }
+ };
@Override
- public final NormsFormat normsFormat() {
+ public NormsFormat normsFormat() {
return normsFormat;
}
}
Modified: lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/codecs/lucene45/Lucene45DocValuesConsumer.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/codecs/lucene45/Lucene45DocValuesConsumer.java?rev=1600423&r1=1600422&r2=1600423&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/codecs/lucene45/Lucene45DocValuesConsumer.java (original)
+++ lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/codecs/lucene45/Lucene45DocValuesConsumer.java Wed Jun 4 18:53:51 2014
@@ -39,7 +39,7 @@ import org.apache.lucene.util.packed.Mon
import org.apache.lucene.util.packed.PackedInts;
/** writer for {@link Lucene45DocValuesFormat} */
-public class Lucene45DocValuesConsumer extends DocValuesConsumer implements Closeable {
+class Lucene45DocValuesConsumer extends DocValuesConsumer implements Closeable {
static final int BLOCK_SIZE = 16384;
static final int ADDRESS_INTERVAL = 16;
@@ -51,8 +51,6 @@ public class Lucene45DocValuesConsumer e
public static final int GCD_COMPRESSED = 1;
/** Compressed by giving IDs to unique values. */
public static final int TABLE_COMPRESSED = 2;
- /** Compressed using just bitpacked integers */
- public static final int BITPACK_COMPRESSED = 3;
/** Uncompressed binary, written directly (fixed length). */
public static final int BINARY_FIXED_UNCOMPRESSED = 0;
@@ -101,7 +99,6 @@ public class Lucene45DocValuesConsumer e
long maxValue = Long.MIN_VALUE;
long gcd = 0;
boolean missing = false;
- boolean block = true;
// TODO: more efficient?
HashSet<Long> uniqueValues = null;
if (optimizeStorage) {
@@ -141,19 +138,9 @@ public class Lucene45DocValuesConsumer e
++count;
}
} else {
- for (Number nv : values) {
- long value = nv.longValue();
- assert value >= -1;
- minValue = Math.min(minValue, value);
- maxValue = Math.max(maxValue, value);
+ for (@SuppressWarnings("unused") Number nv : values) {
++count;
}
-
- // packed ints doesnt support valueCount > maxValue, and
- // we must represent missing ordinal (-1)
- if (count < Integer.MAX_VALUE && maxValue < Long.MAX_VALUE) {
- block = false;
- }
}
final long delta = maxValue - minValue;
@@ -165,8 +152,6 @@ public class Lucene45DocValuesConsumer e
format = TABLE_COMPRESSED;
} else if (gcd != 0 && gcd != 1) {
format = GCD_COMPRESSED;
- } else if (block == false) {
- format = BITPACK_COMPRESSED;
} else {
format = DELTA_COMPRESSED;
}
@@ -188,7 +173,7 @@ public class Lucene45DocValuesConsumer e
case GCD_COMPRESSED:
meta.writeLong(minValue);
meta.writeLong(gcd);
- final BlockPackedWriter quotientWriter = new BlockPackedWriter(data, BLOCK_SIZE, PackedInts.DEFAULT);
+ final BlockPackedWriter quotientWriter = new BlockPackedWriter(data, BLOCK_SIZE);
for (Number nv : values) {
long value = nv == null ? 0 : nv.longValue();
quotientWriter.add((value - minValue) / gcd);
@@ -196,7 +181,7 @@ public class Lucene45DocValuesConsumer e
quotientWriter.finish();
break;
case DELTA_COMPRESSED:
- final BlockPackedWriter writer = new BlockPackedWriter(data, BLOCK_SIZE, PackedInts.DEFAULT);
+ final BlockPackedWriter writer = new BlockPackedWriter(data, BLOCK_SIZE);
for (Number nv : values) {
writer.add(nv == null ? 0 : nv.longValue());
}
@@ -217,18 +202,6 @@ public class Lucene45DocValuesConsumer e
}
ordsWriter.finish();
break;
- case BITPACK_COMPRESSED:
- assert count > 0 && count < Integer.MAX_VALUE;
- assert maxValue >= -1 && maxValue < Long.MAX_VALUE : maxValue;
- int bpv = PackedInts.bitsRequired(maxValue+1);
- bpv = PackedInts.fastestDirectBits(bpv, PackedInts.DEFAULT);
- meta.writeVInt(bpv);
- final PackedInts.Writer bitWriter = PackedInts.getWriterNoHeader(data, PackedInts.Format.PACKED, (int) count, bpv, PackedInts.DEFAULT_BUFFER_SIZE);
- for (Number nv : values) {
- bitWriter.add(nv.longValue()+1);
- }
- bitWriter.finish();
- break;
default:
throw new AssertionError();
}
Modified: lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/codecs/lucene45/Lucene45DocValuesFormat.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/codecs/lucene45/Lucene45DocValuesFormat.java?rev=1600423&r1=1600422&r2=1600423&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/codecs/lucene45/Lucene45DocValuesFormat.java (original)
+++ lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/codecs/lucene45/Lucene45DocValuesFormat.java Wed Jun 4 18:53:51 2014
@@ -50,9 +50,6 @@ import org.apache.lucene.util.packed.Pac
* to this table, and those ordinals are compressed with bitpacking ({@link PackedInts}).
* <li>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.
- * <li>Bitpack-compressed: per-document integers written as a block for the entire segment.
- * This technique will only be used when numbers range from {@code -1 .. Long.MAX_VALUE-1},
- * when the blocking for the delta-compressed method would not provide additional compression.
* </ul>
* <p>
* {@link DocValuesType#BINARY BINARY}:
@@ -99,7 +96,6 @@ import org.apache.lucene.util.packed.Pac
* <li>GCDNumericEntry --> NumericHeader,MinValue,GCD</li>
* <li>TableNumericEntry --> NumericHeader,TableSize,{@link DataOutput#writeLong Int64}<sup>TableSize</sup></li>
* <li>DeltaNumericEntry --> NumericHeader</li>
- * <li>DeltaNumericEntry --> NumericHeader,BitsPerValue</li>
* <li>NumericHeader --> FieldNumber,EntryType,NumericType,MissingOffset,PackedVersion,DataOffset,Count,BlockSize</li>
* <li>BinaryEntry --> FixedBinaryEntry | VariableBinaryEntry | PrefixBinaryEntry</li>
* <li>FixedBinaryEntry --> BinaryHeader</li>
@@ -112,7 +108,7 @@ import org.apache.lucene.util.packed.Pac
* <li>EntryType,CompressionType --> {@link DataOutput#writeByte Byte}</li>
* <li>Header --> {@link CodecUtil#writeHeader CodecHeader}</li>
* <li>MinValue,GCD,MissingOffset,AddressOffset,DataOffset --> {@link DataOutput#writeLong Int64}</li>
- * <li>BitsPerValue,TableSize --> {@link DataOutput#writeVInt vInt}</li>
+ * <li>TableSize --> {@link DataOutput#writeVInt vInt}</li>
* <li>Footer --> {@link CodecUtil#writeFooter CodecFooter}</li>
* </ul>
* <p>Sorted fields have two entries: a BinaryEntry with the value metadata,
@@ -126,17 +122,15 @@ import org.apache.lucene.util.packed.Pac
* <ul>
* <li>0 --> delta-compressed. For each block of 16k integers, every integer is delta-encoded
* from the minimum value within the block.
- * <li>1 --> gcd-compressed. When all integers share a common divisor, only quotients are stored
+ * <li>1 -->, gcd-compressed. When all integers share a common divisor, only quotients are stored
* using blocks of delta-encoded ints.
* <li>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.
- * <li>3 --> bitpack-compressed. When the delta method would not save space, every integer is
- * delta encoded from {@code -1} for the entire segment.
* </ul>
* <p>BinaryType indicates how Binary values will be stored:
* <ul>
* <li>0 --> fixed-width. All values have the same length, addressing by multiplication.
- * <li>1 --> variable-width. An address for each value is stored.
+ * <li>1 -->, variable-width. An address for each value is stored.
* <li>2 --> prefix-compressed. An address to the start of every interval'th value is stored.
* </ul>
* <p>MinLength and MaxLength represent the min and max byte[] value lengths for Binary values.
@@ -165,9 +159,11 @@ import org.apache.lucene.util.packed.Pac
* <p>SortedSet entries store the list of ordinals in their BinaryData as a
* sequences of increasing {@link DataOutput#writeVLong vLong}s, delta-encoded.</p>
* </ol>
+ * @deprecated Only for reading old 4.3-4.5 segments
* @lucene.experimental
*/
-public final class Lucene45DocValuesFormat extends DocValuesFormat {
+@Deprecated
+public class Lucene45DocValuesFormat extends DocValuesFormat {
/** Sole Constructor */
public Lucene45DocValuesFormat() {
@@ -176,6 +172,7 @@ public final class Lucene45DocValuesForm
@Override
public DocValuesConsumer fieldsConsumer(SegmentWriteState state) throws IOException {
+ // really we should be read-only, but to allow posting of dv updates against old segments...
return new Lucene45DocValuesConsumer(state, DATA_CODEC, DATA_EXTENSION, META_CODEC, META_EXTENSION);
}
@@ -191,8 +188,7 @@ public final class Lucene45DocValuesForm
static final int VERSION_START = 0;
static final int VERSION_SORTED_SET_SINGLE_VALUE_OPTIMIZED = 1;
static final int VERSION_CHECKSUM = 2;
- static final int VERSION_BITPACK_COMPRESSED = 3;
- static final int VERSION_CURRENT = VERSION_BITPACK_COMPRESSED;
+ static final int VERSION_CURRENT = VERSION_CHECKSUM;
static final byte NUMERIC = 0;
static final byte BINARY = 1;
static final byte SORTED = 2;
Modified: lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/codecs/lucene45/Lucene45DocValuesProducer.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/codecs/lucene45/Lucene45DocValuesProducer.java?rev=1600423&r1=1600422&r2=1600423&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/codecs/lucene45/Lucene45DocValuesProducer.java (original)
+++ lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/codecs/lucene45/Lucene45DocValuesProducer.java Wed Jun 4 18:53:51 2014
@@ -25,7 +25,6 @@ import static org.apache.lucene.codecs.l
import static org.apache.lucene.codecs.lucene45.Lucene45DocValuesConsumer.SORTED_SET_SINGLE_VALUED_SORTED;
import static org.apache.lucene.codecs.lucene45.Lucene45DocValuesConsumer.SORTED_SET_WITH_ADDRESSES;
import static org.apache.lucene.codecs.lucene45.Lucene45DocValuesConsumer.TABLE_COMPRESSED;
-import static org.apache.lucene.codecs.lucene45.Lucene45DocValuesConsumer.BITPACK_COMPRESSED;
import static org.apache.lucene.codecs.lucene45.Lucene45DocValuesFormat.VERSION_SORTED_SET_SINGLE_VALUE_OPTIMIZED;
import java.io.Closeable; // javadocs
@@ -266,9 +265,6 @@ public class Lucene45DocValuesProducer e
entry.table[i] = meta.readLong();
}
break;
- case BITPACK_COMPRESSED:
- entry.bitsRequired = meta.readVInt();
- break;
case DELTA_COMPRESSED:
break;
default:
@@ -344,14 +340,6 @@ public class Lucene45DocValuesProducer e
case DELTA_COMPRESSED:
final BlockPackedReader reader = new BlockPackedReader(data, entry.packedIntsVersion, entry.blockSize, entry.count, true);
return reader;
- case BITPACK_COMPRESSED:
- final PackedInts.Reader bits = PackedInts.getDirectReaderNoHeader(data, PackedInts.Format.PACKED, entry.packedIntsVersion, (int) entry.count, entry.bitsRequired);
- return new LongValues() {
- @Override
- public long get(long id) {
- return bits.get((int) id) - 1;
- }
- };
case GCD_COMPRESSED:
final long min = entry.minValue;
final long mult = entry.gcd;
@@ -497,7 +485,10 @@ public class Lucene45DocValuesProducer e
final int valueCount = (int) binaries.get(field.number).count;
final BinaryDocValues binary = getBinary(field);
NumericEntry entry = ords.get(field.number);
- final LongValues ordinals = getNumeric(entry);
+ IndexInput data = this.data.clone();
+ data.seek(entry.offset);
+ final BlockPackedReader ordinals = new BlockPackedReader(data, entry.packedIntsVersion, entry.blockSize, entry.count, true);
+
return new SortedDocValues() {
@Override
@@ -696,8 +687,6 @@ public class Lucene45DocValuesProducer e
/** packed ints blocksize */
public int blockSize;
- int bitsRequired;
-
long minValue;
long gcd;
long table[];
Modified: lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/codecs/lucene46/Lucene46Codec.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/codecs/lucene46/Lucene46Codec.java?rev=1600423&r1=1600422&r2=1600423&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/codecs/lucene46/Lucene46Codec.java (original)
+++ lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/codecs/lucene46/Lucene46Codec.java Wed Jun 4 18:53:51 2014
@@ -17,7 +17,10 @@ package org.apache.lucene.codecs.lucene4
* limitations under the License.
*/
+import java.io.IOException;
+
import org.apache.lucene.codecs.Codec;
+import org.apache.lucene.codecs.DocValuesConsumer;
import org.apache.lucene.codecs.DocValuesFormat;
import org.apache.lucene.codecs.FieldInfosFormat;
import org.apache.lucene.codecs.FilterCodec;
@@ -33,6 +36,7 @@ import org.apache.lucene.codecs.lucene42
import org.apache.lucene.codecs.lucene42.Lucene42TermVectorsFormat;
import org.apache.lucene.codecs.perfield.PerFieldDocValuesFormat;
import org.apache.lucene.codecs.perfield.PerFieldPostingsFormat;
+import org.apache.lucene.index.SegmentWriteState;
/**
* Implements the Lucene 4.6 index format, with configurable per-field postings
@@ -43,10 +47,12 @@ import org.apache.lucene.codecs.perfield
*
* @see org.apache.lucene.codecs.lucene46 package documentation for file format details.
* @lucene.experimental
+ * @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();
private final TermVectorsFormat vectorsFormat = new Lucene42TermVectorsFormat();
@@ -129,10 +135,15 @@ public class Lucene46Codec extends Codec
private final PostingsFormat defaultFormat = PostingsFormat.forName("Lucene41");
private final DocValuesFormat defaultDVFormat = DocValuesFormat.forName("Lucene45");
- private final NormsFormat normsFormat = new Lucene42NormsFormat();
+ private final NormsFormat normsFormat = new Lucene42NormsFormat() {
+ @Override
+ public DocValuesConsumer normsConsumer(SegmentWriteState state) throws IOException {
+ throw new UnsupportedOperationException("this codec can only be used for reading");
+ }
+ };
@Override
- public final NormsFormat normsFormat() {
+ public NormsFormat normsFormat() {
return normsFormat;
}
}
Modified: lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/codecs/lucene49/Lucene49DocValuesProducer.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/codecs/lucene49/Lucene49DocValuesProducer.java?rev=1600423&r1=1600412&r2=1600423&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/codecs/lucene49/Lucene49DocValuesProducer.java (original)
+++ lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/codecs/lucene49/Lucene49DocValuesProducer.java Wed Jun 4 18:53:51 2014
@@ -29,6 +29,7 @@ import static org.apache.lucene.codecs.l
import java.io.Closeable; // javadocs
import java.io.IOException;
+import java.util.Comparator;
import java.util.HashMap;
import java.util.Map;
import java.util.concurrent.atomic.AtomicLong;
@@ -902,6 +903,11 @@ public class Lucene49DocValuesProducer e
public DocsAndPositionsEnum docsAndPositions(Bits liveDocs, DocsAndPositionsEnum reuse, int flags) throws IOException {
throw new UnsupportedOperationException();
}
+
+ @Override
+ public Comparator<BytesRef> getComparator() {
+ return BytesRef.getUTF8SortedAsUnicodeComparator();
+ }
};
}
}
Modified: lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/codecs/package.html
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/codecs/package.html?rev=1600423&r1=1600422&r2=1600423&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/codecs/package.html (original)
+++ lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/codecs/package.html Wed Jun 4 18:53:51 2014
@@ -61,13 +61,13 @@ name of your codec.
If you just want to customise the {@link org.apache.lucene.codecs.PostingsFormat}, or use different postings
formats for different fields, then you can register your custom postings format in the same way (in
META-INF/services/org.apache.lucene.codecs.PostingsFormat), and then extend the default
- {@link org.apache.lucene.codecs.lucene46.Lucene46Codec} and override
- {@link org.apache.lucene.codecs.lucene46.Lucene46Codec#getPostingsFormatForField(String)} to return your custom
+ {@link org.apache.lucene.codecs.lucene49.Lucene49Codec} and override
+ {@link org.apache.lucene.codecs.lucene49.Lucene49Codec#getPostingsFormatForField(String)} to return your custom
postings format.
</p>
<p>
Similarly, if you just want to customise the {@link org.apache.lucene.codecs.DocValuesFormat} per-field, have
- a look at {@link org.apache.lucene.codecs.lucene46.Lucene46Codec#getDocValuesFormatForField(String)}.
+ a look at {@link org.apache.lucene.codecs.lucene49.Lucene49Codec#getDocValuesFormatForField(String)}.
</p>
</body>
</html>
Modified: lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/store/ByteBufferIndexInput.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/store/ByteBufferIndexInput.java?rev=1600423&r1=1600422&r2=1600423&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/store/ByteBufferIndexInput.java (original)
+++ lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/store/ByteBufferIndexInput.java Wed Jun 4 18:53:51 2014
@@ -36,7 +36,7 @@ import org.apache.lucene.util.WeakIdenti
* For efficiency, this class requires that the buffers
* are a power-of-two (<code>chunkSizePower</code>).
*/
-abstract class ByteBufferIndexInput extends IndexInput {
+abstract class ByteBufferIndexInput extends IndexInput implements RandomAccessInput {
protected final BufferCleaner cleaner;
protected final long length;
protected final long chunkSizeMask;
@@ -178,6 +178,76 @@ abstract class ByteBufferIndexInput exte
throw new AlreadyClosedException("Already closed: " + this);
}
}
+
+ @Override
+ public byte readByte(long pos) throws IOException {
+ try {
+ final int bi = (int) (pos >> chunkSizePower);
+ return buffers[bi].get((int) (pos & chunkSizeMask));
+ } catch (IndexOutOfBoundsException ioobe) {
+ throw new EOFException("seek past EOF: " + this);
+ } catch (NullPointerException npe) {
+ throw new AlreadyClosedException("Already closed: " + this);
+ }
+ }
+
+ // used only by random access methods to handle reads across boundaries
+ private void setPos(long pos, int bi) throws IOException {
+ try {
+ final ByteBuffer b = buffers[bi];
+ b.position((int) (pos & chunkSizeMask));
+ this.curBufIndex = bi;
+ this.curBuf = b;
+ } catch (ArrayIndexOutOfBoundsException aioobe) {
+ throw new EOFException("seek past EOF: " + this);
+ } catch (IllegalArgumentException iae) {
+ throw new EOFException("seek past EOF: " + this);
+ } catch (NullPointerException npe) {
+ throw new AlreadyClosedException("Already closed: " + this);
+ }
+ }
+
+ @Override
+ public short readShort(long pos) throws IOException {
+ final int bi = (int) (pos >> chunkSizePower);
+ try {
+ return buffers[bi].getShort((int) (pos & chunkSizeMask));
+ } catch (IndexOutOfBoundsException ioobe) {
+ // either its a boundary, or read past EOF, fall back:
+ setPos(pos, bi);
+ return readShort();
+ } catch (NullPointerException npe) {
+ throw new AlreadyClosedException("Already closed: " + this);
+ }
+ }
+
+ @Override
+ public int readInt(long pos) throws IOException {
+ final int bi = (int) (pos >> chunkSizePower);
+ try {
+ return buffers[bi].getInt((int) (pos & chunkSizeMask));
+ } catch (IndexOutOfBoundsException ioobe) {
+ // either its a boundary, or read past EOF, fall back:
+ setPos(pos, bi);
+ return readInt();
+ } catch (NullPointerException npe) {
+ throw new AlreadyClosedException("Already closed: " + this);
+ }
+ }
+
+ @Override
+ public long readLong(long pos) throws IOException {
+ final int bi = (int) (pos >> chunkSizePower);
+ try {
+ return buffers[bi].getLong((int) (pos & chunkSizeMask));
+ } catch (IndexOutOfBoundsException ioobe) {
+ // either its a boundary, or read past EOF, fall back:
+ setPos(pos, bi);
+ return readLong();
+ } catch (NullPointerException npe) {
+ throw new AlreadyClosedException("Already closed: " + this);
+ }
+ }
@Override
public final long length() {
@@ -208,6 +278,12 @@ abstract class ByteBufferIndexInput exte
return buildSlice(sliceDescription, offset, length);
}
+ @Override
+ public RandomAccessInput randomAccessSlice(long offset, long length) throws IOException {
+ // note: technically we could even avoid the clone...
+ return slice(null, offset, length);
+ }
+
/** Builds the actual sliced IndexInput (may apply extra offset in subclasses). **/
protected ByteBufferIndexInput buildSlice(String sliceDescription, long offset, long length) {
if (buffers == null) {
@@ -373,6 +449,66 @@ abstract class ByteBufferIndexInput exte
throw new AlreadyClosedException("Already closed: " + this);
}
}
+
+ @Override
+ public byte readByte(long pos) throws IOException {
+ try {
+ return curBuf.get((int) pos);
+ } catch (IllegalArgumentException e) {
+ if (pos < 0) {
+ throw new IllegalArgumentException("Seeking to negative position: " + this, e);
+ } else {
+ throw new EOFException("seek past EOF: " + this);
+ }
+ } catch (NullPointerException npe) {
+ throw new AlreadyClosedException("Already closed: " + this);
+ }
+ }
+
+ @Override
+ public short readShort(long pos) throws IOException {
+ try {
+ return curBuf.getShort((int) pos);
+ } catch (IllegalArgumentException e) {
+ if (pos < 0) {
+ throw new IllegalArgumentException("Seeking to negative position: " + this, e);
+ } else {
+ throw new EOFException("seek past EOF: " + this);
+ }
+ } catch (NullPointerException npe) {
+ throw new AlreadyClosedException("Already closed: " + this);
+ }
+ }
+
+ @Override
+ public int readInt(long pos) throws IOException {
+ try {
+ return curBuf.getInt((int) pos);
+ } catch (IllegalArgumentException e) {
+ if (pos < 0) {
+ throw new IllegalArgumentException("Seeking to negative position: " + this, e);
+ } else {
+ throw new EOFException("seek past EOF: " + this);
+ }
+ } catch (NullPointerException npe) {
+ throw new AlreadyClosedException("Already closed: " + this);
+ }
+ }
+
+ @Override
+ public long readLong(long pos) throws IOException {
+ try {
+ return curBuf.getLong((int) pos);
+ } catch (IllegalArgumentException e) {
+ if (pos < 0) {
+ throw new IllegalArgumentException("Seeking to negative position: " + this, e);
+ } else {
+ throw new EOFException("seek past EOF: " + this);
+ }
+ } catch (NullPointerException npe) {
+ throw new AlreadyClosedException("Already closed: " + this);
+ }
+ }
}
/** This class adds offset support to ByteBufferIndexInput, which is needed for slices. */
@@ -405,6 +541,26 @@ abstract class ByteBufferIndexInput exte
}
@Override
+ public byte readByte(long pos) throws IOException {
+ return super.readByte(pos + offset);
+ }
+
+ @Override
+ public short readShort(long pos) throws IOException {
+ return super.readShort(pos + offset);
+ }
+
+ @Override
+ public int readInt(long pos) throws IOException {
+ return super.readInt(pos + offset);
+ }
+
+ @Override
+ public long readLong(long pos) throws IOException {
+ return super.readLong(pos + offset);
+ }
+
+ @Override
protected ByteBufferIndexInput buildSlice(String sliceDescription, long ofs, long length) {
return super.buildSlice(sliceDescription, this.offset + ofs, length);
}
Modified: lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/store/IndexInput.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/store/IndexInput.java?rev=1600423&r1=1600422&r2=1600423&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/store/IndexInput.java (original)
+++ lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/store/IndexInput.java Wed Jun 4 18:53:51 2014
@@ -88,4 +88,39 @@ public abstract class IndexInput extends
* The slice is seeked to the beginning.
*/
public abstract IndexInput slice(String sliceDescription, long offset, long length) throws IOException;
+
+ /**
+ * Creates a random-access slice of this index input, with the given offset and length.
+ * <p>
+ * The default implementation calls {@link #slice}, and implements absolute reads as
+ * seek+read.
+ */
+ public RandomAccessInput randomAccessSlice(long offset, long length) throws IOException {
+ final IndexInput slice = slice("randomaccess", offset, length);
+ return new RandomAccessInput() {
+ @Override
+ public byte readByte(long pos) throws IOException {
+ slice.seek(pos);
+ return slice.readByte();
+ }
+
+ @Override
+ public short readShort(long pos) throws IOException {
+ slice.seek(pos);
+ return slice.readShort();
+ }
+
+ @Override
+ public int readInt(long pos) throws IOException {
+ slice.seek(pos);
+ return slice.readInt();
+ }
+
+ @Override
+ public long readLong(long pos) throws IOException {
+ slice.seek(pos);
+ return slice.readLong();
+ }
+ };
+ }
}
Modified: lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/util/packed/BlockPackedWriter.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/util/packed/BlockPackedWriter.java?rev=1600423&r1=1600422&r2=1600423&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/util/packed/BlockPackedWriter.java (original)
+++ lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/util/packed/BlockPackedWriter.java Wed Jun 4 18:53:51 2014
@@ -58,16 +58,13 @@ import org.apache.lucene.store.DataOutpu
* @lucene.internal
*/
public final class BlockPackedWriter extends AbstractBlockPackedWriter {
- final float acceptableOverheadRatio;
/**
* Sole constructor.
* @param blockSize the number of values of a single block, must be a power of 2
- * @param acceptableOverheadRatio an acceptable overhead ratio per value
*/
- public BlockPackedWriter(DataOutput out, int blockSize, float acceptableOverheadRatio) {
+ public BlockPackedWriter(DataOutput out, int blockSize) {
super(out, blockSize);
- this.acceptableOverheadRatio = acceptableOverheadRatio;
}
protected void flush() throws IOException {
@@ -80,7 +77,6 @@ public final class BlockPackedWriter ext
final long delta = max - min;
int bitsRequired = delta < 0 ? 64 : delta == 0L ? 0 : PackedInts.bitsRequired(delta);
- bitsRequired = PackedInts.fastestDirectBits(bitsRequired, acceptableOverheadRatio);
if (bitsRequired == 64) {
// no need to delta-encode
min = 0L;
Modified: lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/util/packed/DirectPackedReader.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/util/packed/DirectPackedReader.java?rev=1600423&r1=1600422&r2=1600423&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/util/packed/DirectPackedReader.java (original)
+++ lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/util/packed/DirectPackedReader.java Wed Jun 4 18:53:51 2014
@@ -22,6 +22,7 @@ import org.apache.lucene.store.IndexInpu
import java.io.IOException;
/* Reads directly from disk on each get */
+// just for back compat, use DirectReader/DirectWriter for more efficient impl
class DirectPackedReader extends PackedInts.ReaderImpl {
final IndexInput in;
final long startPointer;
@@ -98,258 +99,4 @@ class DirectPackedReader extends PackedI
public long ramBytesUsed() {
return 0;
}
-
- static class DirectPackedReader1 extends DirectPackedReader {
- DirectPackedReader1(int valueCount, IndexInput in) {
- super(1, valueCount, in);
- }
-
- @Override
- public long get(int index) {
- try {
- in.seek(startPointer + (index >>> 3));
- int shift = 7 - (index & 7);
- return (in.readByte() >>> shift) & 0x1;
- } catch (IOException e) {
- throw new RuntimeException(e);
- }
- }
- }
-
- static class DirectPackedReader2 extends DirectPackedReader {
- DirectPackedReader2(int valueCount, IndexInput in) {
- super(2, valueCount, in);
- }
-
- @Override
- public long get(int index) {
- try {
- in.seek(startPointer + (index >>> 2));
- int shift = (3 - (index & 3)) << 1;
- return (in.readByte() >>> shift) & 0x3;
- } catch (IOException e) {
- throw new RuntimeException(e);
- }
- }
- }
-
- static class DirectPackedReader4 extends DirectPackedReader {
- DirectPackedReader4(int valueCount, IndexInput in) {
- super(4, valueCount, in);
- }
-
- @Override
- public long get(int index) {
- try {
- in.seek(startPointer + (index >>> 1));
- int shift = ((index + 1) & 1) << 2;
- return (in.readByte() >>> shift) & 0xF;
- } catch (IOException e) {
- throw new RuntimeException(e);
- }
- }
- }
-
- static class DirectPackedReader8 extends DirectPackedReader {
- DirectPackedReader8(int valueCount, IndexInput in) {
- super(8, valueCount, in);
- }
-
- @Override
- public long get(int index) {
- try {
- in.seek(startPointer + index);
- return in.readByte() & 0xFF;
- } catch (IOException e) {
- throw new RuntimeException(e);
- }
- }
- }
-
- static class DirectPackedReader12 extends DirectPackedReader {
- DirectPackedReader12(int valueCount, IndexInput in) {
- super(12, valueCount, in);
- }
-
- @Override
- public long get(int index) {
- try {
- long offset = (index * 12L) >>> 3;
- in.seek(startPointer + offset);
- int shift = ((index + 1) & 1) << 2;
- return (in.readShort() >>> shift) & 0xFFF;
- } catch (IOException e) {
- throw new RuntimeException(e);
- }
- }
- }
-
- static class DirectPackedReader16 extends DirectPackedReader {
- DirectPackedReader16(int valueCount, IndexInput in) {
- super(16, valueCount, in);
- }
-
- @Override
- public long get(int index) {
- try {
- in.seek(startPointer + (index<<1));
- return in.readShort() & 0xFFFF;
- } catch (IOException e) {
- throw new RuntimeException(e);
- }
- }
- }
-
- static class DirectPackedReader20 extends DirectPackedReader {
- DirectPackedReader20(int valueCount, IndexInput in) {
- super(20, valueCount, in);
- }
-
- @Override
- public long get(int index) {
- try {
- long offset = (index * 20L) >>> 3;
- in.seek(startPointer + offset);
- int v = in.readShort() << 8 | (in.readByte() & 0xFF);
- int shift = ((index + 1) & 1) << 2;
- return (v >>> shift) & 0xFFFFF;
- } catch (IOException e) {
- throw new RuntimeException(e);
- }
- }
- }
-
- static class DirectPackedReader24 extends DirectPackedReader {
- DirectPackedReader24(int valueCount, IndexInput in) {
- super(24, valueCount, in);
- }
-
- @Override
- public long get(int index) {
- try {
- in.seek(startPointer + (index*3));
- return (in.readShort() & 0xFFFF) << 8 | (in.readByte() & 0xFF);
- } catch (IOException e) {
- throw new RuntimeException(e);
- }
- }
- }
-
- static class DirectPackedReader28 extends DirectPackedReader {
- DirectPackedReader28(int valueCount, IndexInput in) {
- super(28, valueCount, in);
- }
-
- @Override
- public long get(int index) {
- try {
- long offset = (index * 28L) >>> 3;
- in.seek(startPointer + offset);
- int shift = ((index + 1) & 1) << 2;
- return (in.readInt() >>> shift) & 0xFFFFFFFL;
- } catch (IOException e) {
- throw new RuntimeException(e);
- }
- }
- }
-
- static class DirectPackedReader32 extends DirectPackedReader {
- DirectPackedReader32(int valueCount, IndexInput in) {
- super(32, valueCount, in);
- }
-
- @Override
- public long get(int index) {
- try {
- in.seek(startPointer + (index<<2));
- return in.readInt() & 0xFFFFFFFFL;
- } catch (IOException e) {
- throw new RuntimeException(e);
- }
- }
- }
-
- static class DirectPackedReader40 extends DirectPackedReader {
- DirectPackedReader40(int valueCount, IndexInput in) {
- super(40, valueCount, in);
- }
-
- @Override
- public long get(int index) {
- try {
- in.seek(startPointer + (index*5));
- return (in.readInt() & 0xFFFFFFFFL) << 8 | (in.readByte() & 0xFF);
- } catch (IOException e) {
- throw new RuntimeException(e);
- }
- }
- }
-
- static class DirectPackedReader48 extends DirectPackedReader {
- DirectPackedReader48(int valueCount, IndexInput in) {
- super(48, valueCount, in);
- }
-
- @Override
- public long get(int index) {
- try {
- in.seek(startPointer + (index*6));
- return (in.readInt() & 0xFFFFFFFFL) << 16 | (in.readShort() & 0xFFFF);
- } catch (IOException e) {
- throw new RuntimeException(e);
- }
- }
- }
-
- static class DirectPackedReader56 extends DirectPackedReader {
- DirectPackedReader56(int valueCount, IndexInput in) {
- super(56, valueCount, in);
- }
-
- @Override
- public long get(int index) {
- try {
- in.seek(startPointer + (index*7));
- return (in.readInt() & 0xFFFFFFFFL) << 24 | (in.readShort() & 0xFFFF) << 8 | (in.readByte() & 0xFF);
- } catch (IOException e) {
- throw new RuntimeException(e);
- }
- }
- }
-
- static class DirectPackedReader64 extends DirectPackedReader {
- DirectPackedReader64(int valueCount, IndexInput in) {
- super(64, valueCount, in);
- }
-
- @Override
- public long get(int index) {
- try {
- in.seek(startPointer + (index<<3));
- return in.readLong();
- } catch (IOException e) {
- throw new RuntimeException(e);
- }
- }
- }
-
- static DirectPackedReader getInstance(int bitsPerValue, int valueCount, IndexInput in) {
- switch(bitsPerValue) {
- case 1: return new DirectPackedReader1(valueCount, in);
- case 2: return new DirectPackedReader2(valueCount, in);
- case 4: return new DirectPackedReader4(valueCount, in);
- case 8: return new DirectPackedReader8(valueCount, in);
- case 12: return new DirectPackedReader12(valueCount, in);
- case 16: return new DirectPackedReader16(valueCount, in);
- case 20: return new DirectPackedReader20(valueCount, in);
- case 24: return new DirectPackedReader24(valueCount, in);
- case 28: return new DirectPackedReader28(valueCount, in);
- case 32: return new DirectPackedReader32(valueCount, in);
- case 40: return new DirectPackedReader40(valueCount, in);
- case 48: return new DirectPackedReader48(valueCount, in);
- case 56: return new DirectPackedReader56(valueCount, in);
- case 64: return new DirectPackedReader64(valueCount, in);
- default: return new DirectPackedReader(bitsPerValue, valueCount, in);
- }
- }
}
Modified: lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/util/packed/PackedInts.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/util/packed/PackedInts.java?rev=1600423&r1=1600422&r2=1600423&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/util/packed/PackedInts.java (original)
+++ lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/util/packed/PackedInts.java Wed Jun 4 18:53:51 2014
@@ -282,39 +282,6 @@ public class PackedInts {
return new FormatAndBits(format, actualBitsPerValue);
}
-
- /**
- * Try to find the number of bits per value that would
- * read from disk the fastest reader whose overhead is less than
- * <code>acceptableOverheadRatio</code>.
- * </p><p>
- * The <code>acceptableOverheadRatio</code> parameter makes sense for
- * random-access {@link Reader}s. In case you only plan to perform
- * sequential access on this stream later on, you should probably use
- * {@link PackedInts#COMPACT}.
- * </p><p>
- */
- public static int fastestDirectBits(int bitsPerValue, float acceptableOverheadRatio) {
- acceptableOverheadRatio = Math.max(COMPACT, acceptableOverheadRatio);
- acceptableOverheadRatio = Math.min(FASTEST, acceptableOverheadRatio);
- float acceptableOverheadPerValue = acceptableOverheadRatio * bitsPerValue; // in bits
-
- int maxBitsPerValue = bitsPerValue + (int) acceptableOverheadPerValue;
-
- // first see if we can upgrade to byte
- int byteAlign = (bitsPerValue + 7) & 0xF8;
- if (byteAlign <= maxBitsPerValue) {
- return byteAlign;
- }
-
- // otherwise try to upgrade to a nibble boundary (for numbers < 32)
- int nibbleAlign = (bitsPerValue + 3) & 0xFC;
- if (bitsPerValue < 32 && nibbleAlign <= maxBitsPerValue) {
- return nibbleAlign;
- }
-
- return bitsPerValue;
- }
/**
* A decoder for packed integers.
@@ -997,7 +964,7 @@ public class PackedInts {
}
};
} else {
- return DirectPackedReader.getInstance(bitsPerValue, valueCount, in);
+ return new DirectPackedReader(bitsPerValue, valueCount, in);
}
case PACKED_SINGLE_BLOCK:
return new DirectPacked64SingleBlockReader(bitsPerValue, valueCount, in);
Modified: lucene/dev/branches/branch_4x/lucene/core/src/resources/META-INF/services/org.apache.lucene.codecs.Codec
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/lucene/core/src/resources/META-INF/services/org.apache.lucene.codecs.Codec?rev=1600423&r1=1600422&r2=1600423&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/lucene/core/src/resources/META-INF/services/org.apache.lucene.codecs.Codec (original)
+++ lucene/dev/branches/branch_4x/lucene/core/src/resources/META-INF/services/org.apache.lucene.codecs.Codec Wed Jun 4 18:53:51 2014
@@ -18,4 +18,5 @@ org.apache.lucene.codecs.lucene3x.Lucene
org.apache.lucene.codecs.lucene41.Lucene41Codec
org.apache.lucene.codecs.lucene42.Lucene42Codec
org.apache.lucene.codecs.lucene45.Lucene45Codec
-org.apache.lucene.codecs.lucene46.Lucene46Codec
\ No newline at end of file
+org.apache.lucene.codecs.lucene46.Lucene46Codec
+org.apache.lucene.codecs.lucene49.Lucene49Codec
Modified: lucene/dev/branches/branch_4x/lucene/core/src/resources/META-INF/services/org.apache.lucene.codecs.DocValuesFormat
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/lucene/core/src/resources/META-INF/services/org.apache.lucene.codecs.DocValuesFormat?rev=1600423&r1=1600422&r2=1600423&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/lucene/core/src/resources/META-INF/services/org.apache.lucene.codecs.DocValuesFormat (original)
+++ lucene/dev/branches/branch_4x/lucene/core/src/resources/META-INF/services/org.apache.lucene.codecs.DocValuesFormat Wed Jun 4 18:53:51 2014
@@ -14,4 +14,5 @@
# limitations under the License.
org.apache.lucene.codecs.lucene42.Lucene42DocValuesFormat
-org.apache.lucene.codecs.lucene45.Lucene45DocValuesFormat
\ No newline at end of file
+org.apache.lucene.codecs.lucene45.Lucene45DocValuesFormat
+org.apache.lucene.codecs.lucene49.Lucene49DocValuesFormat
Modified: lucene/dev/branches/branch_4x/lucene/core/src/test/org/apache/lucene/TestExternalCodecs.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/lucene/core/src/test/org/apache/lucene/TestExternalCodecs.java?rev=1600423&r1=1600422&r2=1600423&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/lucene/core/src/test/org/apache/lucene/TestExternalCodecs.java (original)
+++ lucene/dev/branches/branch_4x/lucene/core/src/test/org/apache/lucene/TestExternalCodecs.java Wed Jun 4 18:53:51 2014
@@ -19,7 +19,7 @@ package org.apache.lucene;
import org.apache.lucene.analysis.MockAnalyzer;
import org.apache.lucene.codecs.PostingsFormat;
-import org.apache.lucene.codecs.lucene46.Lucene46Codec;
+import org.apache.lucene.codecs.lucene49.Lucene49Codec;
import org.apache.lucene.document.Document;
import org.apache.lucene.document.Field;
import org.apache.lucene.index.DirectoryReader;
@@ -37,7 +37,7 @@ import org.apache.lucene.util.LuceneTest
public class TestExternalCodecs extends LuceneTestCase {
- private static final class CustomPerFieldCodec extends Lucene46Codec {
+ private static final class CustomPerFieldCodec extends Lucene49Codec {
private final PostingsFormat ramFormat = PostingsFormat.forName("RAMOnly");
private final PostingsFormat defaultFormat = PostingsFormat.forName("Lucene41");
Modified: lucene/dev/branches/branch_4x/lucene/core/src/test/org/apache/lucene/codecs/perfield/TestPerFieldDocValuesFormat.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/lucene/core/src/test/org/apache/lucene/codecs/perfield/TestPerFieldDocValuesFormat.java?rev=1600423&r1=1600422&r2=1600423&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/lucene/core/src/test/org/apache/lucene/codecs/perfield/TestPerFieldDocValuesFormat.java (original)
+++ lucene/dev/branches/branch_4x/lucene/core/src/test/org/apache/lucene/codecs/perfield/TestPerFieldDocValuesFormat.java Wed Jun 4 18:53:51 2014
@@ -25,7 +25,7 @@ import org.apache.lucene.analysis.Analyz
import org.apache.lucene.analysis.MockAnalyzer;
import org.apache.lucene.codecs.Codec;
import org.apache.lucene.codecs.DocValuesFormat;
-import org.apache.lucene.codecs.lucene46.Lucene46Codec;
+import org.apache.lucene.codecs.lucene49.Lucene49Codec;
import org.apache.lucene.document.BinaryDocValuesField;
import org.apache.lucene.document.Document;
import org.apache.lucene.document.Field;
@@ -79,9 +79,9 @@ public class TestPerFieldDocValuesFormat
Directory directory = newDirectory();
// we don't use RandomIndexWriter because it might add more docvalues than we expect !!!!1
IndexWriterConfig iwc = newIndexWriterConfig(TEST_VERSION_CURRENT, analyzer);
- final DocValuesFormat fast = DocValuesFormat.forName("Lucene45");
+ final DocValuesFormat fast = DocValuesFormat.forName("Lucene49");
final DocValuesFormat slow = DocValuesFormat.forName("SimpleText");
- iwc.setCodec(new Lucene46Codec() {
+ iwc.setCodec(new Lucene49Codec() {
@Override
public DocValuesFormat getDocValuesFormatForField(String field) {
if ("dv1".equals(field)) {
Modified: lucene/dev/branches/branch_4x/lucene/core/src/test/org/apache/lucene/codecs/perfield/TestPerFieldPostingsFormat2.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/lucene/core/src/test/org/apache/lucene/codecs/perfield/TestPerFieldPostingsFormat2.java?rev=1600423&r1=1600422&r2=1600423&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/lucene/core/src/test/org/apache/lucene/codecs/perfield/TestPerFieldPostingsFormat2.java (original)
+++ lucene/dev/branches/branch_4x/lucene/core/src/test/org/apache/lucene/codecs/perfield/TestPerFieldPostingsFormat2.java Wed Jun 4 18:53:51 2014
@@ -22,7 +22,7 @@ import org.apache.lucene.analysis.MockAn
import org.apache.lucene.codecs.Codec;
import org.apache.lucene.codecs.PostingsFormat;
import org.apache.lucene.codecs.lucene41.Lucene41PostingsFormat;
-import org.apache.lucene.codecs.lucene46.Lucene46Codec;
+import org.apache.lucene.codecs.lucene49.Lucene49Codec;
import org.apache.lucene.codecs.mocksep.MockSepPostingsFormat;
import org.apache.lucene.codecs.pulsing.Pulsing41PostingsFormat;
import org.apache.lucene.codecs.simpletext.SimpleTextPostingsFormat;
@@ -201,7 +201,7 @@ public class TestPerFieldPostingsFormat2
}
- public static class MockCodec extends Lucene46Codec {
+ public static class MockCodec extends Lucene49Codec {
final PostingsFormat lucene40 = new Lucene41PostingsFormat();
final PostingsFormat simpleText = new SimpleTextPostingsFormat();
final PostingsFormat mockSep = new MockSepPostingsFormat();
@@ -218,7 +218,7 @@ public class TestPerFieldPostingsFormat2
}
}
- public static class MockCodec2 extends Lucene46Codec {
+ public static class MockCodec2 extends Lucene49Codec {
final PostingsFormat lucene40 = new Lucene41PostingsFormat();
final PostingsFormat simpleText = new SimpleTextPostingsFormat();
@@ -269,7 +269,7 @@ public class TestPerFieldPostingsFormat2
}
public void testSameCodecDifferentInstance() throws Exception {
- Codec codec = new Lucene46Codec() {
+ Codec codec = new Lucene49Codec() {
@Override
public PostingsFormat getPostingsFormatForField(String field) {
if ("id".equals(field)) {
@@ -285,7 +285,7 @@ public class TestPerFieldPostingsFormat2
}
public void testSameCodecDifferentParams() throws Exception {
- Codec codec = new Lucene46Codec() {
+ Codec codec = new Lucene49Codec() {
@Override
public PostingsFormat getPostingsFormatForField(String field) {
if ("id".equals(field)) {
Modified: lucene/dev/branches/branch_4x/lucene/core/src/test/org/apache/lucene/index/TestAddIndexes.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/lucene/core/src/test/org/apache/lucene/index/TestAddIndexes.java?rev=1600423&r1=1600422&r2=1600423&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/lucene/core/src/test/org/apache/lucene/index/TestAddIndexes.java (original)
+++ lucene/dev/branches/branch_4x/lucene/core/src/test/org/apache/lucene/index/TestAddIndexes.java Wed Jun 4 18:53:51 2014
@@ -28,7 +28,7 @@ import org.apache.lucene.analysis.MockAn
import org.apache.lucene.codecs.Codec;
import org.apache.lucene.codecs.FilterCodec;
import org.apache.lucene.codecs.PostingsFormat;
-import org.apache.lucene.codecs.lucene46.Lucene46Codec;
+import org.apache.lucene.codecs.lucene49.Lucene49Codec;
import org.apache.lucene.codecs.pulsing.Pulsing41PostingsFormat;
import org.apache.lucene.document.Document;
import org.apache.lucene.document.Field;
@@ -1061,7 +1061,7 @@ public class TestAddIndexes extends Luce
aux2.close();
}
- private static final class CustomPerFieldCodec extends Lucene46Codec {
+ private static final class CustomPerFieldCodec extends Lucene49Codec {
private final PostingsFormat simpleTextFormat = PostingsFormat.forName("SimpleText");
private final PostingsFormat defaultFormat = PostingsFormat.forName("Lucene41");
private final PostingsFormat mockSepFormat = PostingsFormat.forName("MockSep");
@@ -1112,7 +1112,7 @@ public class TestAddIndexes extends Luce
private static final class UnRegisteredCodec extends FilterCodec {
public UnRegisteredCodec() {
- super("NotRegistered", new Lucene46Codec());
+ super("NotRegistered", new Lucene49Codec());
}
}
Modified: lucene/dev/branches/branch_4x/lucene/core/src/test/org/apache/lucene/index/TestAllFilesHaveChecksumFooter.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/lucene/core/src/test/org/apache/lucene/index/TestAllFilesHaveChecksumFooter.java?rev=1600423&r1=1600422&r2=1600423&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/lucene/core/src/test/org/apache/lucene/index/TestAllFilesHaveChecksumFooter.java (original)
+++ lucene/dev/branches/branch_4x/lucene/core/src/test/org/apache/lucene/index/TestAllFilesHaveChecksumFooter.java Wed Jun 4 18:53:51 2014
@@ -21,7 +21,7 @@ import java.io.IOException;
import org.apache.lucene.analysis.MockAnalyzer;
import org.apache.lucene.codecs.CodecUtil;
-import org.apache.lucene.codecs.lucene46.Lucene46Codec;
+import org.apache.lucene.codecs.lucene49.Lucene49Codec;
import org.apache.lucene.document.Document;
import org.apache.lucene.document.Field;
import org.apache.lucene.document.NumericDocValuesField;
@@ -39,7 +39,7 @@ public class TestAllFilesHaveChecksumFoo
public void test() throws Exception {
Directory dir = newDirectory();
IndexWriterConfig conf = newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer(random()));
- conf.setCodec(new Lucene46Codec());
+ conf.setCodec(new Lucene49Codec());
RandomIndexWriter riw = new RandomIndexWriter(random(), dir, conf);
Document doc = new Document();
// these fields should sometimes get term vectors, etc
Modified: lucene/dev/branches/branch_4x/lucene/core/src/test/org/apache/lucene/index/TestAllFilesHaveCodecHeader.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/lucene/core/src/test/org/apache/lucene/index/TestAllFilesHaveCodecHeader.java?rev=1600423&r1=1600422&r2=1600423&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/lucene/core/src/test/org/apache/lucene/index/TestAllFilesHaveCodecHeader.java (original)
+++ lucene/dev/branches/branch_4x/lucene/core/src/test/org/apache/lucene/index/TestAllFilesHaveCodecHeader.java Wed Jun 4 18:53:51 2014
@@ -21,7 +21,7 @@ import java.io.IOException;
import org.apache.lucene.analysis.MockAnalyzer;
import org.apache.lucene.codecs.CodecUtil;
-import org.apache.lucene.codecs.lucene46.Lucene46Codec;
+import org.apache.lucene.codecs.lucene49.Lucene49Codec;
import org.apache.lucene.document.Document;
import org.apache.lucene.document.Field;
import org.apache.lucene.document.NumericDocValuesField;
@@ -39,7 +39,7 @@ public class TestAllFilesHaveCodecHeader
public void test() throws Exception {
Directory dir = newDirectory();
IndexWriterConfig conf = newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer(random()));
- conf.setCodec(new Lucene46Codec());
+ conf.setCodec(new Lucene49Codec());
RandomIndexWriter riw = new RandomIndexWriter(random(), dir, conf);
Document doc = new Document();
// these fields should sometimes get term vectors, etc
Modified: lucene/dev/branches/branch_4x/lucene/core/src/test/org/apache/lucene/index/TestBackwardsCompatibility.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/lucene/core/src/test/org/apache/lucene/index/TestBackwardsCompatibility.java?rev=1600423&r1=1600422&r2=1600423&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/lucene/core/src/test/org/apache/lucene/index/TestBackwardsCompatibility.java (original)
+++ lucene/dev/branches/branch_4x/lucene/core/src/test/org/apache/lucene/index/TestBackwardsCompatibility.java Wed Jun 4 18:53:51 2014
@@ -78,7 +78,7 @@ import org.junit.BeforeClass;
// we won't even be running the actual code, only the impostor
// @SuppressCodecs("Lucene4x")
// Sep codec cannot yet handle the offsets in our 4.x index!
-@SuppressCodecs({"Lucene3x", "MockFixedIntBlock", "MockVariableIntBlock", "MockSep", "MockRandom", "Lucene40", "Lucene41", "Appending", "Lucene42", "Lucene45"})
+@SuppressCodecs({"Lucene3x", "MockFixedIntBlock", "MockVariableIntBlock", "MockSep", "MockRandom", "Lucene40", "Lucene41", "Appending", "Lucene42", "Lucene45", "Lucene46"})
public class TestBackwardsCompatibility extends LuceneTestCase {
// Uncomment these cases & run them on an older Lucene version,
Modified: lucene/dev/branches/branch_4x/lucene/core/src/test/org/apache/lucene/index/TestBackwardsCompatibility3x.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/lucene/core/src/test/org/apache/lucene/index/TestBackwardsCompatibility3x.java?rev=1600423&r1=1600422&r2=1600423&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/lucene/core/src/test/org/apache/lucene/index/TestBackwardsCompatibility3x.java (original)
+++ lucene/dev/branches/branch_4x/lucene/core/src/test/org/apache/lucene/index/TestBackwardsCompatibility3x.java Wed Jun 4 18:53:51 2014
@@ -72,7 +72,7 @@ import org.junit.BeforeClass;
// don't use 3.x codec, its unrealistic since it means
// we won't even be running the actual code, only the impostor
// Sep codec cannot yet handle the offsets we add when changing indexes!
-@SuppressCodecs({"Lucene3x", "MockFixedIntBlock", "MockVariableIntBlock", "MockSep", "MockRandom", "Lucene40", "Lucene41", "Appending", "Lucene42", "Lucene45"})
+@SuppressCodecs({"Lucene3x", "MockFixedIntBlock", "MockVariableIntBlock", "MockSep", "MockRandom", "Lucene40", "Lucene41", "Appending", "Lucene42", "Lucene45", "Lucene46"})
public class TestBackwardsCompatibility3x extends LuceneTestCase {
// Uncomment these cases & run them on an older Lucene
Modified: lucene/dev/branches/branch_4x/lucene/core/src/test/org/apache/lucene/index/TestBinaryDocValuesUpdates.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/lucene/core/src/test/org/apache/lucene/index/TestBinaryDocValuesUpdates.java?rev=1600423&r1=1600422&r2=1600423&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/lucene/core/src/test/org/apache/lucene/index/TestBinaryDocValuesUpdates.java (original)
+++ lucene/dev/branches/branch_4x/lucene/core/src/test/org/apache/lucene/index/TestBinaryDocValuesUpdates.java Wed Jun 4 18:53:51 2014
@@ -17,7 +17,8 @@ import org.apache.lucene.codecs.lucene41
import org.apache.lucene.codecs.lucene42.Lucene42RWCodec;
import org.apache.lucene.codecs.lucene45.Lucene45DocValuesFormat;
import org.apache.lucene.codecs.lucene45.Lucene45RWCodec;
-import org.apache.lucene.codecs.lucene46.Lucene46Codec;
+import org.apache.lucene.codecs.lucene49.Lucene49Codec;
+import org.apache.lucene.codecs.lucene49.Lucene49DocValuesFormat;
import org.apache.lucene.document.BinaryDocValuesField;
import org.apache.lucene.document.Document;
import org.apache.lucene.document.Field.Store;
@@ -499,10 +500,10 @@ public class TestBinaryDocValuesUpdates
public void testDifferentDVFormatPerField() throws Exception {
Directory dir = newDirectory();
IndexWriterConfig conf = newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer(random()));
- conf.setCodec(new Lucene46Codec() {
+ conf.setCodec(new Lucene49Codec() {
@Override
public DocValuesFormat getDocValuesFormatForField(String field) {
- return new Lucene45DocValuesFormat();
+ return new Lucene49DocValuesFormat();
}
});
IndexWriter writer = new IndexWriter(dir, conf);
@@ -1075,10 +1076,10 @@ public class TestBinaryDocValuesUpdates
Directory dir = newDirectory();
IndexWriterConfig conf = newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer(random()));
conf.setMergePolicy(NoMergePolicy.INSTANCE); // disable merges to simplify test assertions.
- conf.setCodec(new Lucene46Codec() {
+ conf.setCodec(new Lucene49Codec() {
@Override
public DocValuesFormat getDocValuesFormatForField(String field) {
- return new Lucene45DocValuesFormat();
+ return new Lucene49DocValuesFormat();
}
});
IndexWriter writer = new IndexWriter(dir, conf);
@@ -1092,7 +1093,7 @@ public class TestBinaryDocValuesUpdates
// change format
conf = newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer(random()));
conf.setMergePolicy(NoMergePolicy.INSTANCE); // disable merges to simplify test assertions.
- conf.setCodec(new Lucene46Codec() {
+ conf.setCodec(new Lucene49Codec() {
@Override
public DocValuesFormat getDocValuesFormatForField(String field) {
return new AssertingDocValuesFormat();
Modified: lucene/dev/branches/branch_4x/lucene/core/src/test/org/apache/lucene/index/TestDirectoryReaderReopen.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/lucene/core/src/test/org/apache/lucene/index/TestDirectoryReaderReopen.java?rev=1600423&r1=1600422&r2=1600423&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/lucene/core/src/test/org/apache/lucene/index/TestDirectoryReaderReopen.java (original)
+++ lucene/dev/branches/branch_4x/lucene/core/src/test/org/apache/lucene/index/TestDirectoryReaderReopen.java Wed Jun 4 18:53:51 2014
@@ -631,7 +631,7 @@ public class TestDirectoryReaderReopen e
MockDirectoryWrapper dir = newMockDirectory();
IndexWriterConfig iwc = new IndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer(random()));
- iwc.setCodec(Codec.forName("Lucene46"));
+ iwc.setCodec(Codec.forName("Lucene49"));
IndexWriter w = new IndexWriter(dir, iwc);
Document doc = new Document();
doc.add(newStringField("id", "id", Field.Store.NO));
Modified: lucene/dev/branches/branch_4x/lucene/core/src/test/org/apache/lucene/index/TestDuelingCodecs.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/lucene/core/src/test/org/apache/lucene/index/TestDuelingCodecs.java?rev=1600423&r1=1600422&r2=1600423&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/lucene/core/src/test/org/apache/lucene/index/TestDuelingCodecs.java (original)
+++ lucene/dev/branches/branch_4x/lucene/core/src/test/org/apache/lucene/index/TestDuelingCodecs.java Wed Jun 4 18:53:51 2014
@@ -49,7 +49,7 @@ public class TestDuelingCodecs extends L
public void setUp() throws Exception {
super.setUp();
- // for now its SimpleText vs Lucene46(random postings format)
+ // for now its SimpleText vs Lucene49(random postings format)
// as this gives the best overall coverage. when we have more
// codecs we should probably pick 2 from Codec.availableCodecs()
Modified: lucene/dev/branches/branch_4x/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterThreadsToSegments.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterThreadsToSegments.java?rev=1600423&r1=1600422&r2=1600423&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterThreadsToSegments.java (original)
+++ lucene/dev/branches/branch_4x/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterThreadsToSegments.java Wed Jun 4 18:53:51 2014
@@ -276,7 +276,7 @@ public class TestIndexWriterThreadsToSeg
Directory dir = newDirectory();
IndexWriterConfig iwc = new IndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer(random()));
iwc.setRAMBufferSizeMB(.2);
- Codec codec = Codec.forName("Lucene46");
+ Codec codec = Codec.forName("Lucene49");
iwc.setCodec(codec);
iwc.setMergePolicy(NoMergePolicy.INSTANCE);
final IndexWriter w = new IndexWriter(dir, iwc);
Modified: lucene/dev/branches/branch_4x/lucene/core/src/test/org/apache/lucene/index/TestNumericDocValuesUpdates.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/lucene/core/src/test/org/apache/lucene/index/TestNumericDocValuesUpdates.java?rev=1600423&r1=1600422&r2=1600423&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/lucene/core/src/test/org/apache/lucene/index/TestNumericDocValuesUpdates.java (original)
+++ lucene/dev/branches/branch_4x/lucene/core/src/test/org/apache/lucene/index/TestNumericDocValuesUpdates.java Wed Jun 4 18:53:51 2014
@@ -15,9 +15,9 @@ import org.apache.lucene.codecs.assertin
import org.apache.lucene.codecs.lucene40.Lucene40RWCodec;
import org.apache.lucene.codecs.lucene41.Lucene41RWCodec;
import org.apache.lucene.codecs.lucene42.Lucene42RWCodec;
-import org.apache.lucene.codecs.lucene45.Lucene45DocValuesFormat;
import org.apache.lucene.codecs.lucene45.Lucene45RWCodec;
-import org.apache.lucene.codecs.lucene46.Lucene46Codec;
+import org.apache.lucene.codecs.lucene49.Lucene49DocValuesFormat;
+import org.apache.lucene.codecs.lucene49.Lucene49Codec;
import org.apache.lucene.document.BinaryDocValuesField;
import org.apache.lucene.document.Document;
import org.apache.lucene.document.Field.Store;
@@ -479,10 +479,10 @@ public class TestNumericDocValuesUpdates
public void testDifferentDVFormatPerField() throws Exception {
Directory dir = newDirectory();
IndexWriterConfig conf = newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer(random()));
- conf.setCodec(new Lucene46Codec() {
+ conf.setCodec(new Lucene49Codec() {
@Override
public DocValuesFormat getDocValuesFormatForField(String field) {
- return new Lucene45DocValuesFormat();
+ return new Lucene49DocValuesFormat();
}
});
IndexWriter writer = new IndexWriter(dir, conf);
@@ -1057,10 +1057,10 @@ public class TestNumericDocValuesUpdates
Directory dir = newDirectory();
IndexWriterConfig conf = newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer(random()));
conf.setMergePolicy(NoMergePolicy.INSTANCE); // disable merges to simplify test assertions.
- conf.setCodec(new Lucene46Codec() {
+ conf.setCodec(new Lucene49Codec() {
@Override
public DocValuesFormat getDocValuesFormatForField(String field) {
- return new Lucene45DocValuesFormat();
+ return new Lucene49DocValuesFormat();
}
});
IndexWriter writer = new IndexWriter(dir, conf);
@@ -1074,7 +1074,7 @@ public class TestNumericDocValuesUpdates
// change format
conf = newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer(random()));
conf.setMergePolicy(NoMergePolicy.INSTANCE); // disable merges to simplify test assertions.
- conf.setCodec(new Lucene46Codec() {
+ conf.setCodec(new Lucene49Codec() {
@Override
public DocValuesFormat getDocValuesFormatForField(String field) {
return new AssertingDocValuesFormat();