summaryrefslogtreecommitdiff
path: root/core/src/main/java/org/elasticsearch/index/fielddata/SortingNumericDocValues.java
diff options
context:
space:
mode:
Diffstat (limited to 'core/src/main/java/org/elasticsearch/index/fielddata/SortingNumericDocValues.java')
-rw-r--r--core/src/main/java/org/elasticsearch/index/fielddata/SortingNumericDocValues.java11
1 files changed, 7 insertions, 4 deletions
diff --git a/core/src/main/java/org/elasticsearch/index/fielddata/SortingNumericDocValues.java b/core/src/main/java/org/elasticsearch/index/fielddata/SortingNumericDocValues.java
index 7c1d1fff2a..0049faaf2b 100644
--- a/core/src/main/java/org/elasticsearch/index/fielddata/SortingNumericDocValues.java
+++ b/core/src/main/java/org/elasticsearch/index/fielddata/SortingNumericDocValues.java
@@ -31,10 +31,12 @@ public abstract class SortingNumericDocValues extends SortedNumericDocValues {
private int count;
protected long[] values;
+ protected int valuesCursor;
private final Sorter sorter;
protected SortingNumericDocValues() {
values = new long[1];
+ valuesCursor = 0;
sorter = new InPlaceMergeSorter() {
@Override
@@ -52,12 +54,13 @@ public abstract class SortingNumericDocValues extends SortedNumericDocValues {
}
/**
- * 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;
}
/**
@@ -69,12 +72,12 @@ public abstract class SortingNumericDocValues extends SortedNumericDocValues {
}
@Override
- public final int count() {
+ public final int docValueCount() {
return count;
}
@Override
- public final long valueAt(int index) {
- return values[index];
+ public final long nextValue() {
+ return values[valuesCursor++];
}
}