summaryrefslogtreecommitdiff
path: root/modules/lang-expression/src/main/java/org/elasticsearch/script/expression/EmptyMemberValueSource.java
diff options
context:
space:
mode:
Diffstat (limited to 'modules/lang-expression/src/main/java/org/elasticsearch/script/expression/EmptyMemberValueSource.java')
-rw-r--r--modules/lang-expression/src/main/java/org/elasticsearch/script/expression/EmptyMemberValueSource.java17
1 files changed, 8 insertions, 9 deletions
diff --git a/modules/lang-expression/src/main/java/org/elasticsearch/script/expression/EmptyMemberValueSource.java b/modules/lang-expression/src/main/java/org/elasticsearch/script/expression/EmptyMemberValueSource.java
index b4c8582e0d..aa12560e1f 100644
--- a/modules/lang-expression/src/main/java/org/elasticsearch/script/expression/EmptyMemberValueSource.java
+++ b/modules/lang-expression/src/main/java/org/elasticsearch/script/expression/EmptyMemberValueSource.java
@@ -19,10 +19,6 @@
package org.elasticsearch.script.expression;
-import java.io.IOException;
-import java.util.Map;
-import java.util.Objects;
-
import org.apache.lucene.index.LeafReaderContext;
import org.apache.lucene.queries.function.FunctionValues;
import org.apache.lucene.queries.function.ValueSource;
@@ -31,6 +27,10 @@ import org.elasticsearch.index.fielddata.AtomicNumericFieldData;
import org.elasticsearch.index.fielddata.IndexFieldData;
import org.elasticsearch.index.fielddata.SortedNumericDoubleValues;
+import java.io.IOException;
+import java.util.Map;
+import java.util.Objects;
+
/**
* ValueSource to return non-zero if a field is missing.
* <p>
@@ -50,12 +50,11 @@ final class EmptyMemberValueSource extends ValueSource {
final SortedNumericDoubleValues values = leafData.getDoubleValues();
return new DoubleDocValues(this) {
@Override
- public double doubleVal(int doc) {
- values.setDocument(doc);
- if (values.count() == 0) {
- return 1;
- } else {
+ public double doubleVal(int doc) throws IOException {
+ if (values.advanceExact(doc)) {
return 0;
+ } else {
+ return 1;
}
}
};