You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by jb...@apache.org on 2014/08/23 16:38:19 UTC
svn commit: r1620032 - in /lucene/dev/branches/lucene_solr_4_10: ./ solr/
solr/core/
solr/core/src/java/org/apache/solr/response/SortingResponseWriter.java
Author: jbernste
Date: Sat Aug 23 14:38:19 2014
New Revision: 1620032
URL: http://svn.apache.org/r1620032
Log:
SOLR-6407: SortingResponseWriter String sorting broken on single segment indexes
Modified:
lucene/dev/branches/lucene_solr_4_10/ (props changed)
lucene/dev/branches/lucene_solr_4_10/solr/ (props changed)
lucene/dev/branches/lucene_solr_4_10/solr/core/ (props changed)
lucene/dev/branches/lucene_solr_4_10/solr/core/src/java/org/apache/solr/response/SortingResponseWriter.java
Modified: lucene/dev/branches/lucene_solr_4_10/solr/core/src/java/org/apache/solr/response/SortingResponseWriter.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene_solr_4_10/solr/core/src/java/org/apache/solr/response/SortingResponseWriter.java?rev=1620032&r1=1620031&r2=1620032&view=diff
==============================================================================
--- lucene/dev/branches/lucene_solr_4_10/solr/core/src/java/org/apache/solr/response/SortingResponseWriter.java (original)
+++ lucene/dev/branches/lucene_solr_4_10/solr/core/src/java/org/apache/solr/response/SortingResponseWriter.java Sat Aug 23 14:38:19 2014
@@ -434,6 +434,10 @@ public class SortingResponseWriter imple
}
return docId+docBase < sd.docId+sd.docBase;
}
+
+ public String toString() {
+ return "";
+ }
}
class SingleValueSortDoc extends SortDoc {
@@ -486,6 +490,10 @@ public class SortingResponseWriter imple
SingleValueSortDoc sd = (SingleValueSortDoc)o;
return value1.compareTo(sd.value1);
}
+
+ public String toString() {
+ return docId+":"+value1.toString();
+ }
}
class DoubleValueSortDoc extends SingleValueSortDoc {
@@ -1078,8 +1086,10 @@ public class SortingResponseWriter imple
public StringValue(SortedDocValues vals, String field, IntComp comp) {
this.vals = vals;
- this.segmentVals = ((MultiDocValues.MultiSortedDocValues) vals).values;
- this.ordinalMap = ((MultiDocValues.MultiSortedDocValues) vals).mapping;
+ if(vals instanceof MultiDocValues.MultiSortedDocValues) {
+ this.segmentVals = ((MultiDocValues.MultiSortedDocValues) vals).values;
+ this.ordinalMap = ((MultiDocValues.MultiSortedDocValues) vals).mapping;
+ }
this.field = field;
this.comp = comp;
this.currentOrd = comp.resetValue();
@@ -1094,7 +1104,11 @@ public class SortingResponseWriter imple
if(ord < 0) {
currentOrd = -1;
} else {
- currentOrd = (int)globalOrds.get(ord);
+ if(globalOrds != null) {
+ currentOrd = (int)globalOrds.get(ord);
+ } else {
+ currentOrd = ord;
+ }
}
}
@@ -1105,8 +1119,12 @@ public class SortingResponseWriter imple
public void setNextReader(AtomicReaderContext context) {
segment = context.ord;
- globalOrds = ordinalMap.getGlobalOrds(segment);
- currentVals = segmentVals[segment];
+ if(ordinalMap != null) {
+ globalOrds = ordinalMap.getGlobalOrds(segment);
+ currentVals = segmentVals[segment];
+ } else {
+ currentVals = vals;
+ }
}
public void reset() {
@@ -1117,6 +1135,10 @@ public class SortingResponseWriter imple
StringValue sv = (StringValue)o;
return comp.compare(currentOrd, sv.currentOrd);
}
+
+ public String toString() {
+ return Integer.toString(this.currentOrd);
+ }
}
protected abstract class FieldWriter {