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 2012/11/24 14:13:54 UTC
svn commit: r1413182 [2/2] - in /lucene/dev/branches/lucene4547: lucene/
lucene/benchmark/src/test/org/apache/lucene/benchmark/byTask/
lucene/core/src/java/org/apache/lucene/index/
lucene/core/src/java/org/apache/lucene/search/ lucene/core/src/test/org...
Modified: lucene/dev/branches/lucene4547/solr/core/src/java/org/apache/solr/request/PerSegmentSingleValuedFaceting.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/solr/core/src/java/org/apache/solr/request/PerSegmentSingleValuedFaceting.java?rev=1413182&r1=1413181&r2=1413182&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/solr/core/src/java/org/apache/solr/request/PerSegmentSingleValuedFaceting.java (original)
+++ lucene/dev/branches/lucene4547/solr/core/src/java/org/apache/solr/request/PerSegmentSingleValuedFaceting.java Sat Nov 24 13:13:51 2012
@@ -17,15 +17,20 @@
package org.apache.solr.request;
+import java.io.IOException;
+import java.util.*;
+import java.util.concurrent.*;
+
import org.apache.lucene.index.AtomicReaderContext;
+import org.apache.lucene.index.SortedDocValues;
import org.apache.lucene.index.TermsEnum;
import org.apache.lucene.search.DocIdSet;
import org.apache.lucene.search.DocIdSetIterator;
import org.apache.lucene.search.FieldCache;
import org.apache.lucene.search.Filter;
+import org.apache.lucene.util.BytesRef;
import org.apache.lucene.util.CharsRef;
import org.apache.lucene.util.PriorityQueue;
-import org.apache.lucene.util.BytesRef;
import org.apache.lucene.util.UnicodeUtil;
import org.apache.lucene.util.packed.PackedInts;
import org.apache.solr.common.SolrException;
@@ -36,10 +41,6 @@ import org.apache.solr.search.DocSet;
import org.apache.solr.search.SolrIndexSearcher;
import org.apache.solr.util.BoundedTreeSet;
-import java.io.IOException;
-import java.util.*;
-import java.util.concurrent.*;
-
class PerSegmentSingleValuedFaceting {
@@ -223,7 +224,7 @@ class PerSegmentSingleValuedFaceting {
this.context = context;
}
- FieldCache.DocTermsIndex si;
+ SortedDocValues si;
int startTermIndex;
int endTermIndex;
int[] counts;
@@ -239,16 +240,16 @@ class PerSegmentSingleValuedFaceting {
if (prefix!=null) {
BytesRef prefixRef = new BytesRef(prefix);
- startTermIndex = si.binarySearchLookup(prefixRef, tempBR);
+ startTermIndex = si.lookupTerm(prefixRef, tempBR);
if (startTermIndex<0) startTermIndex=-startTermIndex-1;
prefixRef.append(UnicodeUtil.BIG_TERM);
// TODO: we could constrain the lower endpoint if we had a binarySearch method that allowed passing start/end
- endTermIndex = si.binarySearchLookup(prefixRef, tempBR);
+ endTermIndex = si.lookupTerm(prefixRef, tempBR);
assert endTermIndex < 0;
endTermIndex = -endTermIndex-1;
} else {
startTermIndex=-1;
- endTermIndex=si.numOrd();
+ endTermIndex=si.getValueCount();
}
final int nTerms=endTermIndex-startTermIndex;
Modified: lucene/dev/branches/lucene4547/solr/core/src/java/org/apache/solr/request/SimpleFacets.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/solr/core/src/java/org/apache/solr/request/SimpleFacets.java?rev=1413182&r1=1413181&r2=1413182&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/solr/core/src/java/org/apache/solr/request/SimpleFacets.java (original)
+++ lucene/dev/branches/lucene4547/solr/core/src/java/org/apache/solr/request/SimpleFacets.java Sat Nov 24 13:13:51 2012
@@ -477,7 +477,7 @@ public class SimpleFacets {
FieldType ft = searcher.getSchema().getFieldType(fieldName);
NamedList<Integer> res = new NamedList<Integer>();
- FieldCache.DocTermsIndex si = FieldCache.DEFAULT.getTermsIndex(searcher.getAtomicReader(), fieldName);
+ SortedDocValues si = FieldCache.DEFAULT.getTermsIndex(searcher.getAtomicReader(), fieldName);
final BytesRef prefixRef;
if (prefix == null) {
@@ -493,15 +493,15 @@ public class SimpleFacets {
int startTermIndex, endTermIndex;
if (prefix!=null) {
- startTermIndex = si.binarySearchLookup(prefixRef, br);
+ startTermIndex = si.lookupTerm(prefixRef, br);
if (startTermIndex<0) startTermIndex=-startTermIndex-1;
prefixRef.append(UnicodeUtil.BIG_TERM);
- endTermIndex = si.binarySearchLookup(prefixRef, br);
+ endTermIndex = si.lookupTerm(prefixRef, br);
assert endTermIndex < 0;
endTermIndex = -endTermIndex-1;
} else {
startTermIndex=-1;
- endTermIndex=si.numOrd();
+ endTermIndex=si.getValueCount();
}
final int nTerms=endTermIndex-startTermIndex;
@@ -564,7 +564,8 @@ public class SimpleFacets {
long pair = sorted[i];
int c = (int)(pair >>> 32);
int tnum = Integer.MAX_VALUE - (int)pair;
- ft.indexedToReadable(si.lookup(startTermIndex+tnum, br), charsRef);
+ si.lookupOrd(startTermIndex+tnum, br);
+ ft.indexedToReadable(br, charsRef);
res.add(charsRef.toString(), c);
}
@@ -582,7 +583,8 @@ public class SimpleFacets {
int c = counts[i];
if (c<mincount || --off>=0) continue;
if (--lim<0) break;
- ft.indexedToReadable(si.lookup(startTermIndex+i, br), charsRef);
+ si.lookupOrd(startTermIndex+i, br);
+ ft.indexedToReadable(br, charsRef);
res.add(charsRef.toString(), c);
}
}
Modified: lucene/dev/branches/lucene4547/solr/core/src/java/org/apache/solr/request/UnInvertedField.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/solr/core/src/java/org/apache/solr/request/UnInvertedField.java?rev=1413182&r1=1413181&r2=1413182&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/solr/core/src/java/org/apache/solr/request/UnInvertedField.java (original)
+++ lucene/dev/branches/lucene4547/solr/core/src/java/org/apache/solr/request/UnInvertedField.java Sat Nov 24 13:13:51 2012
@@ -17,37 +17,36 @@
package org.apache.solr.request;
-import org.apache.lucene.search.FieldCache;
+import java.io.IOException;
+import java.util.HashMap;
+import java.util.LinkedHashMap;
+import java.util.Map;
+import java.util.concurrent.atomic.AtomicLong;
+
import org.apache.lucene.index.DocTermOrds;
+import org.apache.lucene.index.SortedDocValues;
import org.apache.lucene.index.Term;
import org.apache.lucene.index.TermsEnum;
+import org.apache.lucene.search.FieldCache;
import org.apache.lucene.search.TermQuery;
import org.apache.lucene.search.TermRangeQuery;
+import org.apache.lucene.util.BytesRef;
+import org.apache.lucene.util.CharsRef;
+import org.apache.lucene.util.OpenBitSet;
+import org.apache.lucene.util.UnicodeUtil;
+import org.apache.solr.common.SolrException;
import org.apache.solr.common.params.FacetParams;
import org.apache.solr.common.util.NamedList;
-import org.apache.solr.common.SolrException;
import org.apache.solr.core.SolrCore;
-
+import org.apache.solr.handler.component.FieldFacetStats;
+import org.apache.solr.handler.component.StatsValues;
+import org.apache.solr.handler.component.StatsValuesFactory;
import org.apache.solr.schema.FieldType;
import org.apache.solr.schema.SchemaField;
import org.apache.solr.schema.TrieField;
import org.apache.solr.search.*;
import org.apache.solr.util.LongPriorityQueue;
import org.apache.solr.util.PrimUtils;
-import org.apache.solr.handler.component.StatsValues;
-import org.apache.solr.handler.component.StatsValuesFactory;
-import org.apache.solr.handler.component.FieldFacetStats;
-import org.apache.lucene.util.CharsRef;
-import org.apache.lucene.util.OpenBitSet;
-import org.apache.lucene.util.BytesRef;
-import org.apache.lucene.util.UnicodeUtil;
-
-import java.io.IOException;
-import java.util.HashMap;
-import java.util.LinkedHashMap;
-import java.util.Map;
-
-import java.util.concurrent.atomic.AtomicLong;
/**
*
@@ -481,7 +480,7 @@ public class UnInvertedField extends Doc
int i = 0;
final FieldFacetStats[] finfo = new FieldFacetStats[facet.length];
//Initialize facetstats, if facets have been passed in
- FieldCache.DocTermsIndex si;
+ SortedDocValues si;
for (String f : facet) {
SchemaField facet_sf = searcher.getSchema().getField(f);
try {
Modified: lucene/dev/branches/lucene4547/solr/core/src/java/org/apache/solr/schema/BoolField.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/solr/core/src/java/org/apache/solr/schema/BoolField.java?rev=1413182&r1=1413181&r2=1413182&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/solr/core/src/java/org/apache/solr/schema/BoolField.java (original)
+++ lucene/dev/branches/lucene4547/solr/core/src/java/org/apache/solr/schema/BoolField.java Sat Nov 24 13:13:51 2012
@@ -17,29 +17,30 @@
package org.apache.solr.schema;
+import java.io.IOException;
+import java.io.Reader;
+import java.util.Map;
+
+import org.apache.lucene.analysis.Analyzer;
+import org.apache.lucene.analysis.Tokenizer;
+import org.apache.lucene.analysis.tokenattributes.CharTermAttribute;
import org.apache.lucene.index.AtomicReaderContext;
import org.apache.lucene.index.GeneralField;
+import org.apache.lucene.index.SortedDocValues;
import org.apache.lucene.index.StorableField;
-import org.apache.lucene.search.FieldCache;
-import org.apache.lucene.search.SortField;
-import org.apache.lucene.util.BytesRef;
import org.apache.lucene.queries.function.FunctionValues;
import org.apache.lucene.queries.function.ValueSource;
import org.apache.lucene.queries.function.docvalues.BoolDocValues;
import org.apache.lucene.queries.function.valuesource.OrdFieldSource;
+import org.apache.lucene.search.FieldCache;
+import org.apache.lucene.search.SortField;
+import org.apache.lucene.util.BytesRef;
import org.apache.lucene.util.CharsRef;
import org.apache.lucene.util.mutable.MutableValue;
import org.apache.lucene.util.mutable.MutableValueBool;
-import org.apache.solr.search.QParser;
-import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.Tokenizer;
-import org.apache.lucene.analysis.tokenattributes.CharTermAttribute;
-import org.apache.solr.response.TextResponseWriter;
import org.apache.solr.analysis.SolrAnalyzer;
-
-import java.util.Map;
-import java.io.Reader;
-import java.io.IOException;
+import org.apache.solr.response.TextResponseWriter;
+import org.apache.solr.search.QParser;
/**
*
*/
@@ -167,14 +168,14 @@ class BoolFieldSource extends ValueSourc
@Override
public FunctionValues getValues(Map context, AtomicReaderContext readerContext) throws IOException {
- final FieldCache.DocTermsIndex sindex = FieldCache.DEFAULT.getTermsIndex(readerContext.reader(), field);
+ final SortedDocValues sindex = FieldCache.DEFAULT.getTermsIndex(readerContext.reader(), field);
// figure out what ord maps to true
- int nord = sindex.numOrd();
+ int nord = sindex.getValueCount();
BytesRef br = new BytesRef();
int tord = -1;
for (int i=0; i<nord; i++) {
- sindex.lookup(i, br);
+ sindex.lookupOrd(i, br);
if (br.length==1 && br.bytes[br.offset]=='T') {
tord = i;
break;
Modified: lucene/dev/branches/lucene4547/solr/core/src/java/org/apache/solr/schema/DateField.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/solr/core/src/java/org/apache/solr/schema/DateField.java?rev=1413182&r1=1413181&r2=1413182&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/solr/core/src/java/org/apache/solr/schema/DateField.java (original)
+++ lucene/dev/branches/lucene4547/solr/core/src/java/org/apache/solr/schema/DateField.java Sat Nov 24 13:13:51 2012
@@ -500,8 +500,8 @@ class DateFieldSource extends FieldCache
if (ord == -1) {
return null;
} else {
- final BytesRef br = termsIndex.lookup(ord, spare);
- return ft.indexedToReadable(br, spareChars).toString();
+ termsIndex.lookupOrd(ord, spare);
+ return ft.indexedToReadable(spare, spareChars).toString();
}
}
@@ -511,7 +511,8 @@ class DateFieldSource extends FieldCache
if (ord == -1) {
return null;
} else {
- final BytesRef br = termsIndex.lookup(ord, new BytesRef());
+ final BytesRef br = new BytesRef();
+ termsIndex.lookupOrd(ord, br);
return ft.toObject(null, br);
}
}
Modified: lucene/dev/branches/lucene4547/solr/core/src/java/org/apache/solr/schema/SortableDoubleField.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/solr/core/src/java/org/apache/solr/schema/SortableDoubleField.java?rev=1413182&r1=1413181&r2=1413182&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/solr/core/src/java/org/apache/solr/schema/SortableDoubleField.java (original)
+++ lucene/dev/branches/lucene4547/solr/core/src/java/org/apache/solr/schema/SortableDoubleField.java Sat Nov 24 13:13:51 2012
@@ -149,7 +149,12 @@ class SortableDoubleFieldSource extends
@Override
public double doubleVal(int doc) {
int ord=termsIndex.getOrd(doc);
- return ord==-1 ? def : NumberUtils.SortableStr2double(termsIndex.lookup(ord, spare));
+ if (ord == -1) {
+ return def;
+ } else {
+ termsIndex.lookupOrd(ord, spare);
+ return NumberUtils.SortableStr2double(spare);
+ }
}
@Override
@@ -160,7 +165,12 @@ class SortableDoubleFieldSource extends
@Override
public Object objectVal(int doc) {
int ord=termsIndex.getOrd(doc);
- return ord==-1 ? null : NumberUtils.SortableStr2double(termsIndex.lookup(ord, spare));
+ if (ord==-1) {
+ return null;
+ } else {
+ termsIndex.lookupOrd(ord, spare);
+ return NumberUtils.SortableStr2double(spare);
+ }
}
@Override
@@ -185,7 +195,8 @@ class SortableDoubleFieldSource extends
mval.value = def;
mval.exists = false;
} else {
- mval.value = NumberUtils.SortableStr2double(termsIndex.lookup(ord, spare));
+ termsIndex.lookupOrd(ord, spare);
+ mval.value = NumberUtils.SortableStr2double(spare);
mval.exists = true;
}
}
Modified: lucene/dev/branches/lucene4547/solr/core/src/java/org/apache/solr/schema/SortableFloatField.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/solr/core/src/java/org/apache/solr/schema/SortableFloatField.java?rev=1413182&r1=1413181&r2=1413182&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/solr/core/src/java/org/apache/solr/schema/SortableFloatField.java (original)
+++ lucene/dev/branches/lucene4547/solr/core/src/java/org/apache/solr/schema/SortableFloatField.java Sat Nov 24 13:13:51 2012
@@ -137,7 +137,12 @@ class SortableFloatFieldSource extends F
@Override
public float floatVal(int doc) {
int ord=termsIndex.getOrd(doc);
- return ord==-1 ? def : NumberUtils.SortableStr2float(termsIndex.lookup(ord, spare));
+ if (ord==-1) {
+ return def;
+ } else {
+ termsIndex.lookupOrd(ord, spare);
+ return NumberUtils.SortableStr2float(spare);
+ }
}
@Override
@@ -168,7 +173,12 @@ class SortableFloatFieldSource extends F
@Override
public Object objectVal(int doc) {
int ord=termsIndex.getOrd(doc);
- return ord==-1 ? null : NumberUtils.SortableStr2float(termsIndex.lookup(ord, spare));
+ if (ord==-1) {
+ return null;
+ } else {
+ termsIndex.lookupOrd(ord, spare);
+ return NumberUtils.SortableStr2float(spare);
+ }
}
@Override
@@ -188,7 +198,8 @@ class SortableFloatFieldSource extends F
mval.value = def;
mval.exists = false;
} else {
- mval.value = NumberUtils.SortableStr2float(termsIndex.lookup(ord, spare));
+ termsIndex.lookupOrd(ord, spare);
+ mval.value = NumberUtils.SortableStr2float(spare);
mval.exists = true;
}
}
Modified: lucene/dev/branches/lucene4547/solr/core/src/java/org/apache/solr/schema/SortableIntField.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/solr/core/src/java/org/apache/solr/schema/SortableIntField.java?rev=1413182&r1=1413181&r2=1413182&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/solr/core/src/java/org/apache/solr/schema/SortableIntField.java (original)
+++ lucene/dev/branches/lucene4547/solr/core/src/java/org/apache/solr/schema/SortableIntField.java Sat Nov 24 13:13:51 2012
@@ -144,7 +144,12 @@ class SortableIntFieldSource extends Fie
@Override
public int intVal(int doc) {
int ord=termsIndex.getOrd(doc);
- return ord==-1 ? def : NumberUtils.SortableStr2int(termsIndex.lookup(ord, spare),0,3);
+ if (ord==-1) {
+ return def;
+ } else {
+ termsIndex.lookupOrd(ord, spare);
+ return NumberUtils.SortableStr2int(spare,0,3);
+ }
}
@Override
@@ -170,7 +175,12 @@ class SortableIntFieldSource extends Fie
@Override
public Object objectVal(int doc) {
int ord=termsIndex.getOrd(doc);
- return ord==-1 ? null : NumberUtils.SortableStr2int(termsIndex.lookup(ord, spare));
+ if (ord==-1) {
+ return null;
+ } else {
+ termsIndex.lookupOrd(ord, spare);
+ return NumberUtils.SortableStr2int(spare);
+ }
}
@Override
@@ -190,7 +200,8 @@ class SortableIntFieldSource extends Fie
mval.value = def;
mval.exists = false;
} else {
- mval.value = NumberUtils.SortableStr2int(termsIndex.lookup(ord, spare),0,3);
+ termsIndex.lookupOrd(ord, spare);
+ mval.value = NumberUtils.SortableStr2int(spare,0,3);
mval.exists = true;
}
}
Modified: lucene/dev/branches/lucene4547/solr/core/src/java/org/apache/solr/schema/SortableLongField.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/solr/core/src/java/org/apache/solr/schema/SortableLongField.java?rev=1413182&r1=1413181&r2=1413182&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/solr/core/src/java/org/apache/solr/schema/SortableLongField.java (original)
+++ lucene/dev/branches/lucene4547/solr/core/src/java/org/apache/solr/schema/SortableLongField.java Sat Nov 24 13:13:51 2012
@@ -147,7 +147,12 @@ class SortableLongFieldSource extends Fi
@Override
public long longVal(int doc) {
int ord=termsIndex.getOrd(doc);
- return ord==-1 ? def : NumberUtils.SortableStr2long(termsIndex.lookup(ord, spare),0,5);
+ if (ord==-1) {
+ return def;
+ } else {
+ termsIndex.lookupOrd(ord, spare);
+ return NumberUtils.SortableStr2long(spare,0,5);
+ }
}
@Override
@@ -163,7 +168,12 @@ class SortableLongFieldSource extends Fi
@Override
public Object objectVal(int doc) {
int ord=termsIndex.getOrd(doc);
- return ord==-1 ? null : NumberUtils.SortableStr2long(termsIndex.lookup(ord, spare));
+ if (ord==-1) {
+ return null;
+ } else {
+ termsIndex.lookupOrd(ord, spare);
+ return NumberUtils.SortableStr2long(spare);
+ }
}
@Override
@@ -188,7 +198,8 @@ class SortableLongFieldSource extends Fi
mval.value = def;
mval.exists = false;
} else {
- mval.value = NumberUtils.SortableStr2long(termsIndex.lookup(ord, spare),0,5);
+ termsIndex.lookupOrd(ord, spare);
+ mval.value = NumberUtils.SortableStr2long(spare,0,5);
mval.exists = true;
}
}
Modified: lucene/dev/branches/lucene4547/solr/core/src/java/org/apache/solr/schema/StrFieldSource.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/solr/core/src/java/org/apache/solr/schema/StrFieldSource.java?rev=1413182&r1=1413181&r2=1413182&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/solr/core/src/java/org/apache/solr/schema/StrFieldSource.java (original)
+++ lucene/dev/branches/lucene4547/solr/core/src/java/org/apache/solr/schema/StrFieldSource.java Sat Nov 24 13:13:51 2012
@@ -52,7 +52,7 @@ public class StrFieldSource extends Fiel
@Override
public int numOrd() {
- return termsIndex.numOrd();
+ return termsIndex.getValueCount();
}
@Override
Modified: lucene/dev/branches/lucene4547/solr/core/src/java/org/apache/solr/search/MissingStringLastComparatorSource.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/solr/core/src/java/org/apache/solr/search/MissingStringLastComparatorSource.java?rev=1413182&r1=1413181&r2=1413182&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/solr/core/src/java/org/apache/solr/search/MissingStringLastComparatorSource.java (original)
+++ lucene/dev/branches/lucene4547/solr/core/src/java/org/apache/solr/search/MissingStringLastComparatorSource.java Sat Nov 24 13:13:51 2012
@@ -17,8 +17,11 @@
package org.apache.solr.search;
+import java.io.IOException;
+
import org.apache.lucene.index.AtomicReader;
import org.apache.lucene.index.AtomicReaderContext;
+import org.apache.lucene.index.SortedDocValues;
import org.apache.lucene.search.FieldCache;
import org.apache.lucene.search.FieldComparator;
import org.apache.lucene.search.FieldComparatorSource;
@@ -26,8 +29,6 @@ import org.apache.lucene.util.BytesRef;
import org.apache.lucene.util.UnicodeUtil;
import org.apache.lucene.util.packed.PackedInts;
-import java.io.IOException;
-
public class MissingStringLastComparatorSource extends FieldComparatorSource {
private final BytesRef missingValueProxy;
@@ -62,7 +63,7 @@ class TermOrdValComparator_SML extends F
private final BytesRef[] values;
private final int[] readerGen;
- private FieldCache.DocTermsIndex termsIndex;
+ private SortedDocValues termsIndex;
private final String field;
private final BytesRef NULL_VAL;
@@ -137,7 +138,7 @@ class TermOrdValComparator_SML extends F
protected final int[] readerGen;
protected int currentReaderGen = -1;
- protected FieldCache.DocTermsIndex termsIndex;
+ protected SortedDocValues termsIndex;
protected int bottomSlot = -1;
protected int bottomOrd;
@@ -202,7 +203,7 @@ class TermOrdValComparator_SML extends F
bottomSameReader = true;
readerGen[bottomSlot] = currentReaderGen;
} else {
- final int index = binarySearch(tempBR, termsIndex, bottomValue);
+ final int index = termsIndex.lookupTerm(bottomValue, tempBR);
if (index < 0) {
bottomOrd = -index - 2;
bottomSameReader = false;
@@ -224,8 +225,8 @@ class TermOrdValComparator_SML extends F
@Override
public int compareDocToValue(int doc, BytesRef value) {
- final BytesRef docValue = termsIndex.getTerm(doc, tempBR);
- if (docValue == null) {
+ int docOrd = termsIndex.getOrd(doc);
+ if (docOrd == -1) {
if (value == null) {
return 0;
}
@@ -233,7 +234,8 @@ class TermOrdValComparator_SML extends F
} else if (value == null) {
return -1;
}
- return docValue.compareTo(value);
+ termsIndex.lookupOrd(docOrd, tempBR);
+ return tempBR.compareTo(value);
}
}
@@ -270,7 +272,7 @@ class TermOrdValComparator_SML extends F
if (order == NULL_ORD) {
return bottomValue.compareTo(parent.NULL_VAL);
} else {
- termsIndex.lookup(order, tempBR);
+ termsIndex.lookupOrd(order, tempBR);
return bottomValue.compareTo(tempBR);
}
}
@@ -288,7 +290,7 @@ class TermOrdValComparator_SML extends F
if (values[slot] == null) {
values[slot] = new BytesRef();
}
- termsIndex.lookup(ord, values[slot]);
+ termsIndex.lookupOrd(ord, values[slot]);
}
readerGen[slot] = currentReaderGen;
}