@Override public boolean advanceExact(int target) throws IOException { docID = target; return values.advanceExact(target); }
@Override public boolean advanceExact(int target) throws IOException { docID = target; return values.advanceExact(target); }
@Override public boolean advanceExact(int target) throws IOException { docID = target; return NumericDoubleValues.this.advanceExact(target); } @Override
@Override public boolean advanceExact(int target) throws IOException { docID = target; return NumericDoubleValues.this.advanceExact(target); } @Override
@Override public boolean advanceExact(int target) throws IOException { return in.advanceExact(target); }
@Override public boolean advanceExact(int target) throws IOException { if (values.advanceExact(target)) { value = values.doubleValue(); } else { value = missing; } return true; }
@Override public double score(int docId, float subQueryScore) throws IOException { if (distance.advanceExact(docId)) { return func.evaluate(distance.doubleValue(), scale); } else { return 0; } }
@Override public void collect(int doc, long bucket) throws IOException { if (bucket >= mins.size()) { long from = mins.size(); mins = bigArrays.grow(mins, bucket + 1); mins.fill(from, mins.size(), Double.POSITIVE_INFINITY); } if (values.advanceExact(doc)) { final double value = values.doubleValue(); double min = mins.get(bucket); min = Math.min(min, value); mins.set(bucket, min); } }
@Override public void collect(int doc, long bucket) throws IOException { if (bucket >= maxes.size()) { long from = maxes.size(); maxes = bigArrays.grow(maxes, bucket + 1); maxes.fill(from, maxes.size(), Double.NEGATIVE_INFINITY); } if (values.advanceExact(doc)) { final double value = values.doubleValue(); double max = maxes.get(bucket); max = Math.max(max, value); maxes.set(bucket, max); } }
@Override public Explanation explainScore(int docId, Explanation subQueryScore) throws IOException { if (distance.advanceExact(docId) == false) { return Explanation.noMatch("No value for the distance"); } double value = distance.doubleValue(); return Explanation.match( (float) score(docId, subQueryScore.getValue()), "Function for field " + getFieldName() + ":", func.explainFunction(getDistanceString(ctx, docId), value, scale)); } };
@Override public boolean advanceExact(int target) throws IOException { docID = target; return NumericDoubleValues.this.advanceExact(target); } @Override
@Override public boolean advanceExact(int target) throws IOException { docID = target; return values.advanceExact(target); }
@Override public boolean advanceExact(int target) throws IOException { docID = target; return NumericDoubleValues.this.advanceExact(target); } @Override
@Override public boolean advanceExact(int target) throws IOException { docID = target; return NumericDoubleValues.this.advanceExact(target); } @Override
@Override public boolean advanceExact(int target) throws IOException { if (values.advanceExact(target)) { value = values.doubleValue(); } else { value = missing; } return true; }
@Override public double doubleVal(int docId) throws IOException { if (docValues.advanceExact(docId)) { long millis = (long)docValues.doubleValue(); calendar.setTimeInMillis(millis); return calendar.get(calendarType); } else { return 0; } } };
@Override public double doubleVal(int doc) throws IOException { if (docValues.advanceExact(doc)) { return docValues.doubleValue(); } else { return 0; } } };
@Override public double score(int docId, float subQueryScore) throws IOException { if (distance.advanceExact(docId)) { return func.evaluate(distance.doubleValue(), scale); } else { return 0; } }
@Override public double score(int docId, float subQueryScore) throws IOException { if (distance.advanceExact(docId)) { return func.evaluate(distance.doubleValue(), scale); } else { return 0; } }
@Override public double doubleVal(int docId) throws IOException { if (docValues.advanceExact(docId)) { long millis = (long)docValues.doubleValue(); joda.setMillis(millis); return function.applyAsInt(joda); } else { return 0; } } };