You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by mi...@apache.org on 2016/06/11 15:49:30 UTC
[14/21] lucene-solr:branch_6x: LUCENE-6766: remove unused
SortField.Type.BYTES;
don't pass liveDocs to DocIDMerger (it's redundant with MergeState.DocMap)
LUCENE-6766: remove unused SortField.Type.BYTES; don't pass liveDocs to DocIDMerger (it's redundant with MergeState.DocMap)
Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/365436ea
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/365436ea
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/365436ea
Branch: refs/heads/branch_6x
Commit: 365436ea582317f4af5499627a7a1aadde099db7
Parents: a30c263
Author: Mike McCandless <mi...@apache.org>
Authored: Sun May 8 05:00:19 2016 -0400
Committer: Mike McCandless <mi...@apache.org>
Committed: Sat Jun 11 11:48:40 2016 -0400
----------------------------------------------------------------------
.../lucene/codecs/lucene60/Lucene60Codec.java | 3 --
.../apache/lucene/codecs/DocValuesConsumer.java | 34 ++++++++++----------
.../org/apache/lucene/codecs/NormsConsumer.java | 6 ++--
.../lucene/codecs/StoredFieldsWriter.java | 6 ++--
.../apache/lucene/codecs/TermVectorsWriter.java | 6 ++--
.../org/apache/lucene/index/DocIDMerger.java | 30 +++++++++--------
.../org/apache/lucene/index/IndexWriter.java | 2 --
.../apache/lucene/index/IndexWriterConfig.java | 5 ++-
.../lucene/index/MappingMultiPostingsEnum.java | 6 ++--
.../apache/lucene/index/MergeReaderWrapper.java | 4 +--
.../org/apache/lucene/index/MergeState.java | 4 +--
.../org/apache/lucene/index/MultiSorter.java | 1 -
.../org/apache/lucene/index/SegmentInfo.java | 4 ---
.../org/apache/lucene/search/SortField.java | 3 --
.../apache/lucene/index/TestDocIDMerger.java | 12 +++----
.../apache/lucene/index/TestIndexSorting.java | 2 +-
16 files changed, 58 insertions(+), 70 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/365436ea/lucene/backward-codecs/src/java/org/apache/lucene/codecs/lucene60/Lucene60Codec.java
----------------------------------------------------------------------
diff --git a/lucene/backward-codecs/src/java/org/apache/lucene/codecs/lucene60/Lucene60Codec.java b/lucene/backward-codecs/src/java/org/apache/lucene/codecs/lucene60/Lucene60Codec.java
index 7210b3f..fd6b6fe 100644
--- a/lucene/backward-codecs/src/java/org/apache/lucene/codecs/lucene60/Lucene60Codec.java
+++ b/lucene/backward-codecs/src/java/org/apache/lucene/codecs/lucene60/Lucene60Codec.java
@@ -16,9 +16,6 @@
*/
package org.apache.lucene.codecs.lucene60;
-// nocommit if index time sorting is in use, don't try to bulk merge ... later we can make crazy bulk merger that looks for long runs from
-// one sub?
-
import java.util.Objects;
import org.apache.lucene.codecs.Codec;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/365436ea/lucene/core/src/java/org/apache/lucene/codecs/DocValuesConsumer.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/codecs/DocValuesConsumer.java b/lucene/core/src/java/org/apache/lucene/codecs/DocValuesConsumer.java
index 79cc422..427b520 100644
--- a/lucene/core/src/java/org/apache/lucene/codecs/DocValuesConsumer.java
+++ b/lucene/core/src/java/org/apache/lucene/codecs/DocValuesConsumer.java
@@ -251,8 +251,8 @@ public abstract class DocValuesConsumer implements Closeable {
private int docID = -1;
private final int maxDoc;
- public NumericDocValuesSub(MergeState.DocMap docMap, Bits liveDocs, NumericDocValues values, Bits docsWithField, int maxDoc) {
- super(docMap, liveDocs);
+ public NumericDocValuesSub(MergeState.DocMap docMap, NumericDocValues values, Bits docsWithField, int maxDoc) {
+ super(docMap);
this.values = values;
this.docsWithField = docsWithField;
this.maxDoc = maxDoc;
@@ -285,7 +285,7 @@ public abstract class DocValuesConsumer implements Closeable {
List<NumericDocValuesSub> subs = new ArrayList<>();
assert mergeState.docMaps.length == toMerge.size();
for(int i=0;i<toMerge.size();i++) {
- subs.add(new NumericDocValuesSub(mergeState.docMaps[i], mergeState.liveDocs[i], toMerge.get(i), docsWithField.get(i), mergeState.maxDocs[i]));
+ subs.add(new NumericDocValuesSub(mergeState.docMaps[i], toMerge.get(i), docsWithField.get(i), mergeState.maxDocs[i]));
}
final DocIDMerger<NumericDocValuesSub> docIDMerger = new DocIDMerger<>(subs, mergeState.segmentInfo.getIndexSort() != null);
@@ -338,8 +338,8 @@ public abstract class DocValuesConsumer implements Closeable {
private int docID = -1;
private final int maxDoc;
- public BinaryDocValuesSub(MergeState.DocMap docMap, Bits liveDocs, BinaryDocValues values, Bits docsWithField, int maxDoc) {
- super(docMap, liveDocs);
+ public BinaryDocValuesSub(MergeState.DocMap docMap, BinaryDocValues values, Bits docsWithField, int maxDoc) {
+ super(docMap);
this.values = values;
this.docsWithField = docsWithField;
this.maxDoc = maxDoc;
@@ -372,7 +372,7 @@ public abstract class DocValuesConsumer implements Closeable {
List<BinaryDocValuesSub> subs = new ArrayList<>();
assert mergeState.docMaps.length == toMerge.size();
for(int i=0;i<toMerge.size();i++) {
- subs.add(new BinaryDocValuesSub(mergeState.docMaps[i], mergeState.liveDocs[i], toMerge.get(i), docsWithField.get(i), mergeState.maxDocs[i]));
+ subs.add(new BinaryDocValuesSub(mergeState.docMaps[i], toMerge.get(i), docsWithField.get(i), mergeState.maxDocs[i]));
}
final DocIDMerger<BinaryDocValuesSub> docIDMerger = new DocIDMerger<>(subs, mergeState.segmentInfo.getIndexSort() != null);
@@ -429,8 +429,8 @@ public abstract class DocValuesConsumer implements Closeable {
private int docID = -1;
private final int maxDoc;
- public SortedNumericDocValuesSub(MergeState.DocMap docMap, Bits liveDocs, SortedNumericDocValues values, int maxDoc) {
- super(docMap, liveDocs);
+ public SortedNumericDocValuesSub(MergeState.DocMap docMap, SortedNumericDocValues values, int maxDoc) {
+ super(docMap);
this.values = values;
this.maxDoc = maxDoc;
}
@@ -465,7 +465,7 @@ public abstract class DocValuesConsumer implements Closeable {
List<SortedNumericDocValuesSub> subs = new ArrayList<>();
assert mergeState.docMaps.length == toMerge.size();
for(int i=0;i<toMerge.size();i++) {
- subs.add(new SortedNumericDocValuesSub(mergeState.docMaps[i], mergeState.liveDocs[i], toMerge.get(i), mergeState.maxDocs[i]));
+ subs.add(new SortedNumericDocValuesSub(mergeState.docMaps[i], toMerge.get(i), mergeState.maxDocs[i]));
}
final DocIDMerger<SortedNumericDocValuesSub> docIDMerger = new DocIDMerger<>(subs, mergeState.segmentInfo.getIndexSort() != null);
@@ -516,7 +516,7 @@ public abstract class DocValuesConsumer implements Closeable {
List<SortedNumericDocValuesSub> subs = new ArrayList<>();
assert mergeState.docMaps.length == toMerge.size();
for(int i=0;i<toMerge.size();i++) {
- subs.add(new SortedNumericDocValuesSub(mergeState.docMaps[i], mergeState.liveDocs[i], toMerge.get(i), mergeState.maxDocs[i]));
+ subs.add(new SortedNumericDocValuesSub(mergeState.docMaps[i], toMerge.get(i), mergeState.maxDocs[i]));
}
final DocIDMerger<SortedNumericDocValuesSub> docIDMerger = new DocIDMerger<>(subs, mergeState.segmentInfo.getIndexSort() != null);
@@ -581,8 +581,8 @@ public abstract class DocValuesConsumer implements Closeable {
private final int maxDoc;
private final LongValues map;
- public SortedDocValuesSub(MergeState.DocMap docMap, Bits liveDocs, SortedDocValues values, int maxDoc, LongValues map) {
- super(docMap, liveDocs);
+ public SortedDocValuesSub(MergeState.DocMap docMap, SortedDocValues values, int maxDoc, LongValues map) {
+ super(docMap);
this.values = values;
this.maxDoc = maxDoc;
this.map = map;
@@ -678,7 +678,7 @@ public abstract class DocValuesConsumer implements Closeable {
List<SortedDocValuesSub> subs = new ArrayList<>();
assert mergeState.docMaps.length == toMerge.size();
for(int i=0;i<toMerge.size();i++) {
- subs.add(new SortedDocValuesSub(mergeState.docMaps[i], mergeState.liveDocs[i], toMerge.get(i), mergeState.maxDocs[i], map.getGlobalOrds(i)));
+ subs.add(new SortedDocValuesSub(mergeState.docMaps[i], toMerge.get(i), mergeState.maxDocs[i], map.getGlobalOrds(i)));
}
final DocIDMerger<SortedDocValuesSub> docIDMerger = new DocIDMerger<>(subs, mergeState.segmentInfo.getIndexSort() != null);
@@ -735,8 +735,8 @@ public abstract class DocValuesConsumer implements Closeable {
private final int maxDoc;
private final LongValues map;
- public SortedSetDocValuesSub(MergeState.DocMap docMap, Bits liveDocs, SortedSetDocValues values, int maxDoc, LongValues map) {
- super(docMap, liveDocs);
+ public SortedSetDocValuesSub(MergeState.DocMap docMap, SortedSetDocValues values, int maxDoc, LongValues map) {
+ super(docMap);
this.values = values;
this.maxDoc = maxDoc;
this.map = map;
@@ -837,7 +837,7 @@ public abstract class DocValuesConsumer implements Closeable {
List<SortedSetDocValuesSub> subs = new ArrayList<>();
assert mergeState.docMaps.length == toMerge.size();
for(int i=0;i<toMerge.size();i++) {
- subs.add(new SortedSetDocValuesSub(mergeState.docMaps[i], mergeState.liveDocs[i], toMerge.get(i), mergeState.maxDocs[i], map.getGlobalOrds(i)));
+ subs.add(new SortedSetDocValuesSub(mergeState.docMaps[i], toMerge.get(i), mergeState.maxDocs[i], map.getGlobalOrds(i)));
}
final DocIDMerger<SortedSetDocValuesSub> docIDMerger = new DocIDMerger<>(subs, mergeState.segmentInfo.getIndexSort() != null);
@@ -895,7 +895,7 @@ public abstract class DocValuesConsumer implements Closeable {
List<SortedSetDocValuesSub> subs = new ArrayList<>();
assert mergeState.docMaps.length == toMerge.size();
for(int i=0;i<toMerge.size();i++) {
- subs.add(new SortedSetDocValuesSub(mergeState.docMaps[i], mergeState.liveDocs[i], toMerge.get(i), mergeState.maxDocs[i], map.getGlobalOrds(i)));
+ subs.add(new SortedSetDocValuesSub(mergeState.docMaps[i], toMerge.get(i), mergeState.maxDocs[i], map.getGlobalOrds(i)));
}
final DocIDMerger<SortedSetDocValuesSub> docIDMerger = new DocIDMerger<>(subs, mergeState.segmentInfo.getIndexSort() != null);
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/365436ea/lucene/core/src/java/org/apache/lucene/codecs/NormsConsumer.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/codecs/NormsConsumer.java b/lucene/core/src/java/org/apache/lucene/codecs/NormsConsumer.java
index 76f8be7..39d3902 100644
--- a/lucene/core/src/java/org/apache/lucene/codecs/NormsConsumer.java
+++ b/lucene/core/src/java/org/apache/lucene/codecs/NormsConsumer.java
@@ -107,8 +107,8 @@ public abstract class NormsConsumer implements Closeable {
private int docID = -1;
private final int maxDoc;
- public NumericDocValuesSub(MergeState.DocMap docMap, Bits liveDocs, NumericDocValues values, int maxDoc) {
- super(docMap, liveDocs);
+ public NumericDocValuesSub(MergeState.DocMap docMap, NumericDocValues values, int maxDoc) {
+ super(docMap);
this.values = values;
this.maxDoc = maxDoc;
}
@@ -142,7 +142,7 @@ public abstract class NormsConsumer implements Closeable {
List<NumericDocValuesSub> subs = new ArrayList<>();
assert mergeState.docMaps.length == toMerge.size();
for(int i=0;i<toMerge.size();i++) {
- subs.add(new NumericDocValuesSub(mergeState.docMaps[i], mergeState.liveDocs[i], toMerge.get(i), mergeState.maxDocs[i]));
+ subs.add(new NumericDocValuesSub(mergeState.docMaps[i], toMerge.get(i), mergeState.maxDocs[i]));
}
final DocIDMerger<NumericDocValuesSub> docIDMerger = new DocIDMerger<>(subs, mergeState.segmentInfo.getIndexSort() != null);
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/365436ea/lucene/core/src/java/org/apache/lucene/codecs/StoredFieldsWriter.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/codecs/StoredFieldsWriter.java b/lucene/core/src/java/org/apache/lucene/codecs/StoredFieldsWriter.java
index b76247d..26652aa 100644
--- a/lucene/core/src/java/org/apache/lucene/codecs/StoredFieldsWriter.java
+++ b/lucene/core/src/java/org/apache/lucene/codecs/StoredFieldsWriter.java
@@ -85,8 +85,8 @@ public abstract class StoredFieldsWriter implements Closeable {
private final MergeVisitor visitor;
int docID = -1;
- public StoredFieldsMergeSub(MergeVisitor visitor, MergeState.DocMap docMap, Bits liveDocs, StoredFieldsReader reader, int maxDoc) {
- super(docMap, liveDocs);
+ public StoredFieldsMergeSub(MergeVisitor visitor, MergeState.DocMap docMap, StoredFieldsReader reader, int maxDoc) {
+ super(docMap);
this.maxDoc = maxDoc;
this.reader = reader;
this.visitor = visitor;
@@ -115,7 +115,7 @@ public abstract class StoredFieldsWriter implements Closeable {
for(int i=0;i<mergeState.storedFieldsReaders.length;i++) {
StoredFieldsReader storedFieldsReader = mergeState.storedFieldsReaders[i];
storedFieldsReader.checkIntegrity();
- subs.add(new StoredFieldsMergeSub(new MergeVisitor(mergeState, i), mergeState.docMaps[i], mergeState.liveDocs[i], storedFieldsReader, mergeState.maxDocs[i]));
+ subs.add(new StoredFieldsMergeSub(new MergeVisitor(mergeState, i), mergeState.docMaps[i], storedFieldsReader, mergeState.maxDocs[i]));
}
final DocIDMerger<StoredFieldsMergeSub> docIDMerger = new DocIDMerger<>(subs, mergeState.segmentInfo.getIndexSort() != null);
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/365436ea/lucene/core/src/java/org/apache/lucene/codecs/TermVectorsWriter.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/codecs/TermVectorsWriter.java b/lucene/core/src/java/org/apache/lucene/codecs/TermVectorsWriter.java
index 6ab1157..81dd095 100644
--- a/lucene/core/src/java/org/apache/lucene/codecs/TermVectorsWriter.java
+++ b/lucene/core/src/java/org/apache/lucene/codecs/TermVectorsWriter.java
@@ -169,8 +169,8 @@ public abstract class TermVectorsWriter implements Closeable {
private final int maxDoc;
int docID = -1;
- public TermVectorsMergeSub(MergeState.DocMap docMap, Bits liveDocs, TermVectorsReader reader, int maxDoc) {
- super(docMap, liveDocs);
+ public TermVectorsMergeSub(MergeState.DocMap docMap, TermVectorsReader reader, int maxDoc) {
+ super(docMap);
this.maxDoc = maxDoc;
this.reader = reader;
}
@@ -204,7 +204,7 @@ public abstract class TermVectorsWriter implements Closeable {
reader.checkIntegrity();
}
// nocommit make sure the else case tested here
- subs.add(new TermVectorsMergeSub(mergeState.docMaps[i], mergeState.liveDocs[i], reader, mergeState.maxDocs[i]));
+ subs.add(new TermVectorsMergeSub(mergeState.docMaps[i], reader, mergeState.maxDocs[i]));
}
final DocIDMerger<TermVectorsMergeSub> docIDMerger = new DocIDMerger<>(subs, mergeState.segmentInfo.getIndexSort() != null);
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/365436ea/lucene/core/src/java/org/apache/lucene/index/DocIDMerger.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/DocIDMerger.java b/lucene/core/src/java/org/apache/lucene/index/DocIDMerger.java
index fb1cdf2..7db7081 100644
--- a/lucene/core/src/java/org/apache/lucene/index/DocIDMerger.java
+++ b/lucene/core/src/java/org/apache/lucene/index/DocIDMerger.java
@@ -45,12 +45,9 @@ public class DocIDMerger<T extends DocIDMerger.Sub> {
public static abstract class Sub {
public int mappedDocID;
final MergeState.DocMap docMap;
- final Bits liveDocs;
- // nocommit isn't liveDocs redundant? docMap returns -1 for us?
- public Sub(MergeState.DocMap docMap, Bits liveDocs) {
+ public Sub(MergeState.DocMap docMap) {
this.docMap = docMap;
- this.liveDocs = liveDocs;
}
/** Returns the next document ID from this sub reader, and {@link DocIdSetIterator#NO_MORE_DOCS} when done */
@@ -91,12 +88,14 @@ public class DocIDMerger<T extends DocIDMerger.Sub> {
if (docID == NO_MORE_DOCS) {
// all docs in this sub were deleted; do not add it to the queue!
break;
- } else if (sub.liveDocs != null && sub.liveDocs.get(docID) == false) {
- // nocommit is it sub's job to skip deleted docs?
+ }
+
+ int mappedDocID = sub.docMap.get(docID);
+ if (mappedDocID == -1) {
+ // doc was deleted
continue;
} else {
- sub.mappedDocID = sub.docMap.get(docID);
- assert sub.mappedDocID != -1;
+ sub.mappedDocID = mappedDocID;
queue.add(sub);
break;
}
@@ -131,10 +130,13 @@ public class DocIDMerger<T extends DocIDMerger.Sub> {
queue.pop();
top = queue.top();
break;
- } else if (top.liveDocs != null && top.liveDocs.get(docID) == false) {
+ }
+ int mappedDocID = top.docMap.get(docID);
+ if (mappedDocID == -1) {
+ // doc was deleted
continue;
} else {
- top.mappedDocID = top.docMap.get(docID);
+ top.mappedDocID = mappedDocID;
top = queue.updateTop();
break;
}
@@ -160,12 +162,14 @@ public class DocIDMerger<T extends DocIDMerger.Sub> {
current = subs.get(nextIndex);
nextIndex++;
continue;
- } else if (current.liveDocs != null && current.liveDocs.get(docID) == false) {
- // Document is deleted
+ }
+ int mappedDocID = current.docMap.get(docID);
+ if (mappedDocID == -1) {
+ // doc is deleted
continue;
}
- current.mappedDocID = current.docMap.get(docID);
+ current.mappedDocID = mappedDocID;
return current;
}
}
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/365436ea/lucene/core/src/java/org/apache/lucene/index/IndexWriter.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/IndexWriter.java b/lucene/core/src/java/org/apache/lucene/index/IndexWriter.java
index 2254ba4..0289c61 100644
--- a/lucene/core/src/java/org/apache/lucene/index/IndexWriter.java
+++ b/lucene/core/src/java/org/apache/lucene/index/IndexWriter.java
@@ -1004,8 +1004,6 @@ public class IndexWriter implements Closeable, TwoPhaseCommit, Accountable {
}
}
- // nocommit can we improve this from just best effort?
-
/** Confirms that the incoming index sort (if any) matches the existing index sort (if any). This is unfortunately just best effort,
* because it could be the old index only has flushed segments. */
private void validateIndexSort() {
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/365436ea/lucene/core/src/java/org/apache/lucene/index/IndexWriterConfig.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/IndexWriterConfig.java b/lucene/core/src/java/org/apache/lucene/index/IndexWriterConfig.java
index a6b5599..e2957d7 100644
--- a/lucene/core/src/java/org/apache/lucene/index/IndexWriterConfig.java
+++ b/lucene/core/src/java/org/apache/lucene/index/IndexWriterConfig.java
@@ -444,11 +444,10 @@ public final class IndexWriterConfig extends LiveIndexWriterConfig {
/** We only allow sorting on these types */
private static final EnumSet<SortField.Type> ALLOWED_INDEX_SORT_TYPES = EnumSet.of(SortField.Type.STRING,
- SortField.Type.INT,
- SortField.Type.FLOAT,
SortField.Type.LONG,
+ SortField.Type.INT,
SortField.Type.DOUBLE,
- SortField.Type.BYTES);
+ SortField.Type.FLOAT);
/**
* Set the {@link Sort} order to use when merging segments. Note that newly flushed segments will remain unsorted.
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/365436ea/lucene/core/src/java/org/apache/lucene/index/MappingMultiPostingsEnum.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/MappingMultiPostingsEnum.java b/lucene/core/src/java/org/apache/lucene/index/MappingMultiPostingsEnum.java
index 41c2a46..166878d 100644
--- a/lucene/core/src/java/org/apache/lucene/index/MappingMultiPostingsEnum.java
+++ b/lucene/core/src/java/org/apache/lucene/index/MappingMultiPostingsEnum.java
@@ -43,8 +43,8 @@ final class MappingMultiPostingsEnum extends PostingsEnum {
private static class MappingPostingsSub extends DocIDMerger.Sub {
public PostingsEnum postings;
- public MappingPostingsSub(MergeState.DocMap docMap, Bits liveDocs) {
- super(docMap, liveDocs);
+ public MappingPostingsSub(MergeState.DocMap docMap) {
+ super(docMap);
}
@Override
@@ -62,7 +62,7 @@ final class MappingMultiPostingsEnum extends PostingsEnum {
this.field = field;
allSubs = new MappingPostingsSub[mergeState.fieldsProducers.length];
for(int i=0;i<allSubs.length;i++) {
- allSubs[i] = new MappingPostingsSub(mergeState.docMaps[i], mergeState.liveDocs[i]);
+ allSubs[i] = new MappingPostingsSub(mergeState.docMaps[i]);
}
this.docIDMerger = new DocIDMerger<MappingPostingsSub>(subs, allSubs.length, mergeState.segmentInfo.getIndexSort() != null);
}
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/365436ea/lucene/core/src/java/org/apache/lucene/index/MergeReaderWrapper.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/MergeReaderWrapper.java b/lucene/core/src/java/org/apache/lucene/index/MergeReaderWrapper.java
index be3513a..2401d0f 100644
--- a/lucene/core/src/java/org/apache/lucene/index/MergeReaderWrapper.java
+++ b/lucene/core/src/java/org/apache/lucene/index/MergeReaderWrapper.java
@@ -29,14 +29,14 @@ import org.apache.lucene.util.Bits;
/** This is a hack to make index sorting fast, with a {@link LeafReader} that always returns merge instances when you ask for the codec readers. */
class MergeReaderWrapper extends LeafReader {
- final SegmentReader in;
+ final CodecReader in;
final FieldsProducer fields;
final NormsProducer norms;
final DocValuesProducer docValues;
final StoredFieldsReader store;
final TermVectorsReader vectors;
- MergeReaderWrapper(SegmentReader in) throws IOException {
+ MergeReaderWrapper(CodecReader in) throws IOException {
this.in = in;
FieldsProducer fields = in.getPostingsReader();
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/365436ea/lucene/core/src/java/org/apache/lucene/index/MergeState.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/MergeState.java b/lucene/core/src/java/org/apache/lucene/index/MergeState.java
index 31065e3..9560983 100644
--- a/lucene/core/src/java/org/apache/lucene/index/MergeState.java
+++ b/lucene/core/src/java/org/apache/lucene/index/MergeState.java
@@ -40,7 +40,6 @@ import org.apache.lucene.util.packed.PackedLongValues;
public class MergeState {
/** Maps document IDs from old segments to document IDs in the new segment */
- // nocommit in the unsorted case, this should map correctly, e.g. apply per segment docBase
public final DocMap[] docMaps;
// nocommit can we somehow not need to expose this? should IW's reader pool always sort on load...?
@@ -224,8 +223,7 @@ public class MergeState {
Sorter.DocMap sortDocMap = sorter.sort(leaf);
if (sortDocMap != null) {
//System.out.println(" sort!");
- // nocommit what about MergedReaderWrapper in here?
- leaf = SlowCodecReaderWrapper.wrap(SortingLeafReader.wrap(leaf, sortDocMap));
+ leaf = SlowCodecReaderWrapper.wrap(SortingLeafReader.wrap(new MergeReaderWrapper(leaf), sortDocMap));
leafDocMaps[readers.size()] = new DocMap() {
@Override
public int get(int docID) {
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/365436ea/lucene/core/src/java/org/apache/lucene/index/MultiSorter.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/MultiSorter.java b/lucene/core/src/java/org/apache/lucene/index/MultiSorter.java
index 4c78aa1..39ef8d8 100644
--- a/lucene/core/src/java/org/apache/lucene/index/MultiSorter.java
+++ b/lucene/core/src/java/org/apache/lucene/index/MultiSorter.java
@@ -344,7 +344,6 @@ final class MultiSorter {
};
}
- // nocommit do the rest:
default:
throw new IllegalArgumentException("unhandled SortField.getType()=" + sortField.getType());
}
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/365436ea/lucene/core/src/java/org/apache/lucene/index/SegmentInfo.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/SegmentInfo.java b/lucene/core/src/java/org/apache/lucene/index/SegmentInfo.java
index 5830201..ec12365 100644
--- a/lucene/core/src/java/org/apache/lucene/index/SegmentInfo.java
+++ b/lucene/core/src/java/org/apache/lucene/index/SegmentInfo.java
@@ -198,10 +198,6 @@ public final class SegmentInfo {
s.append('/').append(delCount);
}
- // nocommit does search time "do the right thing" automatically when segment is sorted?
-
- // nocommit remove sorter_key from diagnostics
-
if (indexSort != null) {
s.append(":[indexSort=");
s.append(indexSort);
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/365436ea/lucene/core/src/java/org/apache/lucene/search/SortField.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/SortField.java b/lucene/core/src/java/org/apache/lucene/search/SortField.java
index 880697b..412a50a 100644
--- a/lucene/core/src/java/org/apache/lucene/search/SortField.java
+++ b/lucene/core/src/java/org/apache/lucene/search/SortField.java
@@ -77,9 +77,6 @@ public class SortField {
* uses ordinals to do the sorting. */
STRING_VAL,
- /** Sort use byte[] index values. */
- BYTES,
-
/** Force rewriting of SortField using {@link SortField#rewrite(IndexSearcher)}
* before it can be used for sorting */
REWRITEABLE
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/365436ea/lucene/core/src/test/org/apache/lucene/index/TestDocIDMerger.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestDocIDMerger.java b/lucene/core/src/test/org/apache/lucene/index/TestDocIDMerger.java
index 9251b00..949dece 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestDocIDMerger.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestDocIDMerger.java
@@ -33,8 +33,8 @@ public class TestDocIDMerger extends LuceneTestCase {
final int valueStart;
final int maxDoc;
- public TestSubUnsorted(MergeState.DocMap docMap, Bits liveDocs, int maxDoc, int valueStart) {
- super(docMap, liveDocs);
+ public TestSubUnsorted(MergeState.DocMap docMap, int maxDoc, int valueStart) {
+ super(docMap);
this.maxDoc = maxDoc;
this.valueStart = valueStart;
}
@@ -67,7 +67,7 @@ public class TestDocIDMerger extends LuceneTestCase {
public int get(int docID) {
return docBase + docID;
}
- }, null, maxDoc, valueStart));
+ }, maxDoc, valueStart));
valueStart += maxDoc;
}
@@ -92,8 +92,8 @@ public class TestDocIDMerger extends LuceneTestCase {
final int maxDoc;
final int index;
- public TestSubSorted(MergeState.DocMap docMap, Bits liveDocs, int maxDoc, int index) {
- super(docMap, liveDocs);
+ public TestSubSorted(MergeState.DocMap docMap, int maxDoc, int index) {
+ super(docMap);
this.maxDoc = maxDoc;
this.index = index;
}
@@ -155,7 +155,7 @@ public class TestDocIDMerger extends LuceneTestCase {
public int get(int docID) {
return docMap[docID];
}
- }, null, docMap.length, i));
+ }, docMap.length, i));
}
// nocommit test w/ deletions too
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/365436ea/lucene/core/src/test/org/apache/lucene/index/TestIndexSorting.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestIndexSorting.java b/lucene/core/src/test/org/apache/lucene/index/TestIndexSorting.java
index 4e26063..15d18fb 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestIndexSorting.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestIndexSorting.java
@@ -574,7 +574,7 @@ public class TestIndexSorting extends LuceneTestCase {
IllegalArgumentException expected = expectThrows(IllegalArgumentException.class, () -> {
iwc.setIndexSort(Sort.RELEVANCE);
});
- assertEquals("invalid SortField type: must be one of [STRING, INT, FLOAT, LONG, DOUBLE, BYTES] but got: <score>", expected.getMessage());
+ assertEquals("invalid SortField type: must be one of [STRING, INT, FLOAT, LONG, DOUBLE] but got: <score>", expected.getMessage());
}
// you can't change the index sort on an existing index: