summaryrefslogtreecommitdiff
path: root/core/src/main/java/org/elasticsearch/index/fielddata/SortingNumericDoubleValues.java
diff options
context:
space:
mode:
Diffstat (limited to 'core/src/main/java/org/elasticsearch/index/fielddata/SortingNumericDoubleValues.java')
-rw-r--r--core/src/main/java/org/elasticsearch/index/fielddata/SortingNumericDoubleValues.java13
1 files changed, 8 insertions, 5 deletions
diff --git a/core/src/main/java/org/elasticsearch/index/fielddata/SortingNumericDoubleValues.java b/core/src/main/java/org/elasticsearch/index/fielddata/SortingNumericDoubleValues.java
index 674a86719e..7a39f64745 100644
--- a/core/src/main/java/org/elasticsearch/index/fielddata/SortingNumericDoubleValues.java
+++ b/core/src/main/java/org/elasticsearch/index/fielddata/SortingNumericDoubleValues.java
@@ -29,11 +29,13 @@ import org.apache.lucene.util.Sorter;
public abstract class SortingNumericDoubleValues extends SortedNumericDoubleValues {
private int count;
+ private int valuesCursor;
protected double[] values;
private final Sorter sorter;
protected SortingNumericDoubleValues() {
values = new double[1];
+ valuesCursor = 0;
sorter = new InPlaceMergeSorter() {
@Override
@@ -51,29 +53,30 @@ public abstract class SortingNumericDoubleValues extends SortedNumericDoubleValu
}
/**
- * Set the {@link #count()} and ensure that the {@link #values} array can
+ * Set the {@link #docValueCount()} and ensure that the {@link #values} array can
* store at least that many entries.
*/
protected final void resize(int newSize) {
count = newSize;
values = ArrayUtil.grow(values, count);
+ valuesCursor = 0;
}
/**
* Sort values that are stored between offsets <code>0</code> and
- * {@link #count} of {@link #values}.
+ * {@link #docValueCount} of {@link #values}.
*/
protected final void sort() {
sorter.sort(0, count);
}
@Override
- public final int count() {
+ public final int docValueCount() {
return count;
}
@Override
- public final double valueAt(int index) {
- return values[index];
+ public final double nextValue() {
+ return values[valuesCursor++];
}
}