mirror of
https://github.com/honeymoose/OpenSearch.git
synced 2025-02-17 10:25:15 +00:00
Remove getValues from numeric and string field data & clean up geo field data
This commit is contained in:
parent
7f81469137
commit
5aedf74fb0
@ -44,8 +44,6 @@ public interface DoubleValues {
|
||||
|
||||
double getValueMissing(int docId, double missingValue);
|
||||
|
||||
DoubleArrayRef getValues(int docId);
|
||||
|
||||
Iter getIter(int docId);
|
||||
|
||||
void forEachValueInDoc(int docId, ValueInDocProc proc);
|
||||
@ -123,11 +121,6 @@ public interface DoubleValues {
|
||||
return missingValue;
|
||||
}
|
||||
|
||||
@Override
|
||||
public DoubleArrayRef getValues(int docId) {
|
||||
return DoubleArrayRef.EMPTY;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Iter getIter(int docId) {
|
||||
return Iter.Empty.INSTANCE;
|
||||
@ -142,7 +135,6 @@ public interface DoubleValues {
|
||||
public static class LongBased implements DoubleValues {
|
||||
|
||||
private final LongValues values;
|
||||
private final DoubleArrayRef arrayScratch = new DoubleArrayRef(new double[1], 1);
|
||||
private final ValueIter iter = new ValueIter();
|
||||
private final Proc proc = new Proc();
|
||||
|
||||
@ -173,20 +165,6 @@ public interface DoubleValues {
|
||||
return getValue(docId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public DoubleArrayRef getValues(int docId) {
|
||||
LongArrayRef arrayRef = values.getValues(docId);
|
||||
int size = arrayRef.size();
|
||||
if (size == 0) {
|
||||
return DoubleArrayRef.EMPTY;
|
||||
}
|
||||
arrayScratch.reset(size);
|
||||
for (int i = arrayRef.start; i < arrayRef.end; i++) {
|
||||
arrayScratch.values[arrayScratch.end++] = (double) arrayRef.values[i];
|
||||
}
|
||||
return arrayScratch;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Iter getIter(int docId) {
|
||||
return this.iter.reset(values.getIter(docId));
|
||||
@ -263,10 +241,6 @@ public interface DoubleValues {
|
||||
return delegate.getValueMissing(docId, missingValue);
|
||||
}
|
||||
|
||||
public DoubleArrayRef getValues(int docId) {
|
||||
return delegate.getValues(docId);
|
||||
}
|
||||
|
||||
public Iter getIter(int docId) {
|
||||
return delegate.getIter(docId);
|
||||
}
|
||||
|
@ -43,38 +43,10 @@ public interface GeoPointValues {
|
||||
|
||||
GeoPoint getValueSafe(int docId);
|
||||
|
||||
GeoPointArrayRef getValues(int docId);
|
||||
|
||||
Iter getIter(int docId);
|
||||
|
||||
Iter getIterSafe(int docId);
|
||||
|
||||
/**
|
||||
* Go over all the possible values in their geo point format for a specific doc.
|
||||
*/
|
||||
void forEachValueInDoc(int docId, ValueInDocProc proc);
|
||||
|
||||
/**
|
||||
* Go over all the possible values in their geo point format for a specific doc.
|
||||
*/
|
||||
void forEachSafeValueInDoc(int docId, ValueInDocProc proc);
|
||||
|
||||
public static interface ValueInDocProc {
|
||||
void onValue(int docId, GeoPoint value);
|
||||
|
||||
void onMissing(int docId);
|
||||
}
|
||||
|
||||
/**
|
||||
* Go over all the possible values in their geo point format for a specific doc.
|
||||
*/
|
||||
void forEachLatLonValueInDoc(int docId, LatLonValueInDocProc proc);
|
||||
|
||||
public static interface LatLonValueInDocProc {
|
||||
void onValue(int docId, double lat, double lon);
|
||||
|
||||
void onMissing(int docId);
|
||||
}
|
||||
|
||||
static interface Iter {
|
||||
|
||||
@ -143,34 +115,15 @@ public interface GeoPointValues {
|
||||
return getIter(docId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void forEachSafeValueInDoc(int docId, ValueInDocProc proc) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void forEachLatLonValueInDoc(int docId, LatLonValueInDocProc proc) {
|
||||
//To change body of implemented methods use File | Settings | File Templates.
|
||||
}
|
||||
|
||||
@Override
|
||||
public GeoPoint getValue(int docId) {
|
||||
throw new ElasticSearchIllegalStateException("Can't retrieve a value from an empty GeoPointValues");
|
||||
}
|
||||
|
||||
@Override
|
||||
public GeoPointArrayRef getValues(int docId) {
|
||||
return GeoPointArrayRef.EMPTY;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Iter getIter(int docId) {
|
||||
return Iter.Empty.INSTANCE;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void forEachValueInDoc(int docId, ValueInDocProc proc) {
|
||||
proc.onMissing(docId);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -20,7 +20,6 @@
|
||||
package org.elasticsearch.index.fielddata;
|
||||
|
||||
import org.elasticsearch.ElasticSearchIllegalStateException;
|
||||
import org.elasticsearch.index.fielddata.util.IntArrayRef;
|
||||
import org.elasticsearch.index.fielddata.util.LongArrayRef;
|
||||
|
||||
/**
|
||||
@ -43,8 +42,6 @@ public interface LongValues {
|
||||
|
||||
long getValueMissing(int docId, long missingValue);
|
||||
|
||||
LongArrayRef getValues(int docId);
|
||||
|
||||
Iter getIter(int docId);
|
||||
|
||||
void forEachValueInDoc(int docId, ValueInDocProc proc);
|
||||
@ -123,11 +120,6 @@ public interface LongValues {
|
||||
return missingValue;
|
||||
}
|
||||
|
||||
@Override
|
||||
public LongArrayRef getValues(int docId) {
|
||||
return LongArrayRef.EMPTY;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Iter getIter(int docId) {
|
||||
return Iter.Empty.INSTANCE;
|
||||
@ -163,10 +155,6 @@ public interface LongValues {
|
||||
return delegate.getValueMissing(docId, missingValue);
|
||||
}
|
||||
|
||||
public LongArrayRef getValues(int docId) {
|
||||
return delegate.getValues(docId);
|
||||
}
|
||||
|
||||
public Iter getIter(int docId) {
|
||||
return delegate.getIter(docId);
|
||||
}
|
||||
|
@ -73,9 +73,6 @@ public interface ScriptDocValues {
|
||||
return values.getValue(docId);
|
||||
}
|
||||
|
||||
public StringArrayRef getValues() {
|
||||
return values.getValues(docId);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -109,11 +106,7 @@ public interface ScriptDocValues {
|
||||
return date;
|
||||
}
|
||||
|
||||
public LongArrayRef getValues() {
|
||||
return values.getValues(docId);
|
||||
}
|
||||
}
|
||||
|
||||
static class NumericDouble implements ScriptDocValues {
|
||||
|
||||
private final DoubleValues values;
|
||||
@ -136,10 +129,6 @@ public interface ScriptDocValues {
|
||||
public double getValue() {
|
||||
return values.getValue(docId);
|
||||
}
|
||||
|
||||
public DoubleArrayRef getValues() {
|
||||
return values.getValues(docId);
|
||||
}
|
||||
}
|
||||
|
||||
static class GeoPoints implements ScriptDocValues {
|
||||
@ -165,10 +154,6 @@ public interface ScriptDocValues {
|
||||
return values.getValue(docId);
|
||||
}
|
||||
|
||||
public GeoPointArrayRef getValues() {
|
||||
return values.getValues(docId);
|
||||
}
|
||||
|
||||
public double factorDistance(double lat, double lon) {
|
||||
GeoPoint point = getValue();
|
||||
return GeoDistance.FACTOR.calculate(point.lat(), point.lon(), lat, lon, DistanceUnit.MILES);
|
||||
|
@ -48,8 +48,6 @@ public interface StringValues {
|
||||
|
||||
String getValue(int docId);
|
||||
|
||||
StringArrayRef getValues(int docId);
|
||||
|
||||
Iter getIter(int docId);
|
||||
|
||||
/**
|
||||
@ -126,11 +124,6 @@ public interface StringValues {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public StringArrayRef getValues(int docId) {
|
||||
return StringArrayRef.EMPTY;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Iter getIter(int docId) {
|
||||
return Iter.Empty.INSTANCE;
|
||||
@ -172,19 +165,6 @@ public interface StringValues {
|
||||
return Double.toString(values.getValue(docId));
|
||||
}
|
||||
|
||||
@Override
|
||||
public StringArrayRef getValues(int docId) {
|
||||
DoubleArrayRef arrayRef = values.getValues(docId);
|
||||
int size = arrayRef.size();
|
||||
if (size == 0) return StringArrayRef.EMPTY;
|
||||
|
||||
arrayScratch.reset(size);
|
||||
for (int i = arrayRef.start; i < arrayRef.end; i++) {
|
||||
arrayScratch.values[arrayScratch.end++] = Double.toString(arrayRef.values[i]);
|
||||
}
|
||||
return arrayScratch;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Iter getIter(int docId) {
|
||||
return valuesIter.reset(values.getIter(docId));
|
||||
@ -266,18 +246,6 @@ public interface StringValues {
|
||||
return Long.toString(values.getValue(docId));
|
||||
}
|
||||
|
||||
@Override
|
||||
public StringArrayRef getValues(int docId) {
|
||||
LongArrayRef arrayRef = values.getValues(docId);
|
||||
int size = arrayRef.size();
|
||||
if (size == 0) return StringArrayRef.EMPTY;
|
||||
|
||||
arrayScratch.reset(size);
|
||||
for (int i = arrayRef.start; i < arrayRef.end; i++) {
|
||||
arrayScratch.values[arrayScratch.end++] = Long.toString(arrayRef.values[i]);
|
||||
}
|
||||
return arrayScratch;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Iter getIter(int docId) {
|
||||
@ -391,15 +359,6 @@ public interface StringValues {
|
||||
return iter.reset(this.ordinals.getIter(docId));
|
||||
}
|
||||
|
||||
@Override
|
||||
public StringArrayRef getValues(int docId) {
|
||||
assert !isMultiValued();
|
||||
int ord = ordinals.getOrd(docId);
|
||||
if (ord == 0) return StringArrayRef.EMPTY;
|
||||
arrayScratch.values[0] = getValueByOrd(ord);
|
||||
return arrayScratch;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void forEachValueInDoc(int docId, ValueInDocProc proc) {
|
||||
assert !isMultiValued();
|
||||
@ -445,20 +404,6 @@ public interface StringValues {
|
||||
super(delegate);
|
||||
}
|
||||
|
||||
@Override
|
||||
public StringArrayRef getValues(int docId) {
|
||||
assert isMultiValued();
|
||||
|
||||
IntArrayRef ords = ordinals.getOrds(docId);
|
||||
int size = ords.size();
|
||||
if (size == 0) return StringArrayRef.EMPTY;
|
||||
arrayScratch.reset(size);
|
||||
for (int i = ords.start; i < ords.end; i++) {
|
||||
arrayScratch.values[arrayScratch.end++] = getValueByOrd(ords.get(i));
|
||||
}
|
||||
return arrayScratch;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void forEachValueInDoc(int docId, ValueInDocProc proc) {
|
||||
assert isMultiValued();
|
||||
|
@ -145,7 +145,6 @@ public abstract class ByteArrayAtomicFieldData extends AtomicNumericFieldData {
|
||||
private final byte[] values;
|
||||
private final Ordinals.Docs ordinals;
|
||||
|
||||
private final LongArrayRef arrayScratch = new LongArrayRef(new long[1], 1);
|
||||
private final ValuesIter iter;
|
||||
|
||||
LongValues(byte[] values, Ordinals.Docs ordinals) {
|
||||
@ -179,19 +178,6 @@ public abstract class ByteArrayAtomicFieldData extends AtomicNumericFieldData {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public LongArrayRef getValues(int docId) {
|
||||
IntArrayRef ords = ordinals.getOrds(docId);
|
||||
int size = ords.size();
|
||||
if (size == 0) return LongArrayRef.EMPTY;
|
||||
|
||||
arrayScratch.reset(size);
|
||||
for (int i = ords.start; i < ords.end; i++) {
|
||||
arrayScratch.values[arrayScratch.end++] = (long) values[ords.values[i]];
|
||||
}
|
||||
return arrayScratch;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Iter getIter(int docId) {
|
||||
return iter.reset(ordinals.getIter(docId));
|
||||
@ -244,8 +230,6 @@ public abstract class ByteArrayAtomicFieldData extends AtomicNumericFieldData {
|
||||
|
||||
private final byte[] values;
|
||||
private final Ordinals.Docs ordinals;
|
||||
|
||||
private final DoubleArrayRef arrayScratch = new DoubleArrayRef(new double[1], 1);
|
||||
private final ValuesIter iter;
|
||||
|
||||
DoubleValues(byte[] values, Ordinals.Docs ordinals) {
|
||||
@ -279,19 +263,6 @@ public abstract class ByteArrayAtomicFieldData extends AtomicNumericFieldData {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public DoubleArrayRef getValues(int docId) {
|
||||
IntArrayRef ords = ordinals.getOrds(docId);
|
||||
int size = ords.size();
|
||||
if (size == 0) return DoubleArrayRef.EMPTY;
|
||||
|
||||
arrayScratch.reset(size);
|
||||
for (int i = ords.start; i < ords.end; i++) {
|
||||
arrayScratch.values[arrayScratch.end++] = (double) values[ords.values[i]];
|
||||
}
|
||||
return arrayScratch;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Iter getIter(int docId) {
|
||||
return iter.reset(ordinals.getIter(docId));
|
||||
@ -404,7 +375,6 @@ public abstract class ByteArrayAtomicFieldData extends AtomicNumericFieldData {
|
||||
private final byte[] values;
|
||||
private final FixedBitSet set;
|
||||
|
||||
private final LongArrayRef arrayScratch = new LongArrayRef(new long[1], 1);
|
||||
private final Iter.Single iter = new Iter.Single();
|
||||
|
||||
LongValues(byte[] values, FixedBitSet set) {
|
||||
@ -436,16 +406,6 @@ public abstract class ByteArrayAtomicFieldData extends AtomicNumericFieldData {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public LongArrayRef getValues(int docId) {
|
||||
if (set.get(docId)) {
|
||||
arrayScratch.values[0] = (long) values[docId];
|
||||
return arrayScratch;
|
||||
} else {
|
||||
return LongArrayRef.EMPTY;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public Iter getIter(int docId) {
|
||||
if (set.get(docId)) {
|
||||
@ -469,8 +429,6 @@ public abstract class ByteArrayAtomicFieldData extends AtomicNumericFieldData {
|
||||
|
||||
private final byte[] values;
|
||||
private final FixedBitSet set;
|
||||
|
||||
private final DoubleArrayRef arrayScratch = new DoubleArrayRef(new double[1], 1);
|
||||
private final Iter.Single iter = new Iter.Single();
|
||||
|
||||
DoubleValues(byte[] values, FixedBitSet set) {
|
||||
@ -502,16 +460,6 @@ public abstract class ByteArrayAtomicFieldData extends AtomicNumericFieldData {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public DoubleArrayRef getValues(int docId) {
|
||||
if (set.get(docId)) {
|
||||
arrayScratch.values[0] = (double) values[docId];
|
||||
return arrayScratch;
|
||||
} else {
|
||||
return DoubleArrayRef.EMPTY;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public Iter getIter(int docId) {
|
||||
if (set.get(docId)) {
|
||||
@ -593,8 +541,6 @@ public abstract class ByteArrayAtomicFieldData extends AtomicNumericFieldData {
|
||||
static class LongValues implements org.elasticsearch.index.fielddata.LongValues {
|
||||
|
||||
private final byte[] values;
|
||||
|
||||
private final LongArrayRef arrayScratch = new LongArrayRef(new long[1], 1);
|
||||
private final Iter.Single iter = new Iter.Single();
|
||||
|
||||
LongValues(byte[] values) {
|
||||
@ -621,12 +567,6 @@ public abstract class ByteArrayAtomicFieldData extends AtomicNumericFieldData {
|
||||
return (long) values[docId];
|
||||
}
|
||||
|
||||
@Override
|
||||
public LongArrayRef getValues(int docId) {
|
||||
arrayScratch.values[0] = (long) values[docId];
|
||||
return arrayScratch;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Iter getIter(int docId) {
|
||||
return iter.reset((long) values[docId]);
|
||||
@ -641,8 +581,6 @@ public abstract class ByteArrayAtomicFieldData extends AtomicNumericFieldData {
|
||||
static class DoubleValues implements org.elasticsearch.index.fielddata.DoubleValues {
|
||||
|
||||
private final byte[] values;
|
||||
|
||||
private final DoubleArrayRef arrayScratch = new DoubleArrayRef(new double[1], 1);
|
||||
private final Iter.Single iter = new Iter.Single();
|
||||
|
||||
DoubleValues(byte[] values) {
|
||||
@ -669,11 +607,6 @@ public abstract class ByteArrayAtomicFieldData extends AtomicNumericFieldData {
|
||||
return (double) values[docId];
|
||||
}
|
||||
|
||||
@Override
|
||||
public DoubleArrayRef getValues(int docId) {
|
||||
arrayScratch.values[0] = (double) values[docId];
|
||||
return arrayScratch;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Iter getIter(int docId) {
|
||||
|
@ -157,7 +157,6 @@ public abstract class DoubleArrayAtomicFieldData extends AtomicNumericFieldData
|
||||
private final double[] values;
|
||||
private final Ordinals.Docs ordinals;
|
||||
|
||||
private final StringArrayRef arrayScratch = new StringArrayRef(new String[1], 1);
|
||||
private final ValuesIter valuesIter;
|
||||
|
||||
StringValues(double[] values, Ordinals.Docs ordinals) {
|
||||
@ -185,19 +184,6 @@ public abstract class DoubleArrayAtomicFieldData extends AtomicNumericFieldData
|
||||
return Double.toString(values[ord]);
|
||||
}
|
||||
|
||||
@Override
|
||||
public StringArrayRef getValues(int docId) {
|
||||
IntArrayRef ords = ordinals.getOrds(docId);
|
||||
int size = ords.size();
|
||||
if (size == 0) return StringArrayRef.EMPTY;
|
||||
|
||||
arrayScratch.reset(size);
|
||||
for (int i = ords.start; i < ords.end; i++) {
|
||||
arrayScratch.values[arrayScratch.end++] = Double.toString(values[ords.values[i]]);
|
||||
}
|
||||
return arrayScratch;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Iter getIter(int docId) {
|
||||
return valuesIter.reset(ordinals.getIter(docId));
|
||||
@ -250,8 +236,6 @@ public abstract class DoubleArrayAtomicFieldData extends AtomicNumericFieldData
|
||||
|
||||
private final double[] values;
|
||||
private final Ordinals.Docs ordinals;
|
||||
|
||||
private final LongArrayRef arrayScratch = new LongArrayRef(new long[1], 1);
|
||||
private final ValuesIter iter;
|
||||
|
||||
LongValues(double[] values, Ordinals.Docs ordinals) {
|
||||
@ -285,19 +269,6 @@ public abstract class DoubleArrayAtomicFieldData extends AtomicNumericFieldData
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public LongArrayRef getValues(int docId) {
|
||||
IntArrayRef ords = ordinals.getOrds(docId);
|
||||
int size = ords.size();
|
||||
if (size == 0) return LongArrayRef.EMPTY;
|
||||
|
||||
arrayScratch.reset(size);
|
||||
for (int i = ords.start; i < ords.end; i++) {
|
||||
arrayScratch.values[arrayScratch.end++] = (long) values[ords.values[i]];
|
||||
}
|
||||
return arrayScratch;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Iter getIter(int docId) {
|
||||
return iter.reset(ordinals.getIter(docId));
|
||||
@ -350,8 +321,6 @@ public abstract class DoubleArrayAtomicFieldData extends AtomicNumericFieldData
|
||||
|
||||
private final double[] values;
|
||||
private final Ordinals.Docs ordinals;
|
||||
|
||||
private final DoubleArrayRef arrayScratch = new DoubleArrayRef(new double[1], 1);
|
||||
private final ValuesIter iter;
|
||||
|
||||
DoubleValues(double[] values, Ordinals.Docs ordinals) {
|
||||
@ -385,19 +354,6 @@ public abstract class DoubleArrayAtomicFieldData extends AtomicNumericFieldData
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public DoubleArrayRef getValues(int docId) {
|
||||
IntArrayRef ords = ordinals.getOrds(docId);
|
||||
int size = ords.size();
|
||||
if (size == 0) return DoubleArrayRef.EMPTY;
|
||||
|
||||
arrayScratch.reset(size);
|
||||
for (int i = ords.start; i < ords.end; i++) {
|
||||
arrayScratch.values[arrayScratch.end++] = values[ords.values[i]];
|
||||
}
|
||||
return arrayScratch;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Iter getIter(int docId) {
|
||||
return iter.reset(ordinals.getIter(docId));
|
||||
@ -508,7 +464,6 @@ public abstract class DoubleArrayAtomicFieldData extends AtomicNumericFieldData
|
||||
private final double[] values;
|
||||
private final FixedBitSet set;
|
||||
|
||||
private final LongArrayRef arrayScratch = new LongArrayRef(new long[1], 1);
|
||||
private final Iter.Single iter = new Iter.Single();
|
||||
|
||||
LongValues(double[] values, FixedBitSet set) {
|
||||
@ -540,16 +495,6 @@ public abstract class DoubleArrayAtomicFieldData extends AtomicNumericFieldData
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public LongArrayRef getValues(int docId) {
|
||||
if (set.get(docId)) {
|
||||
arrayScratch.values[0] = (long) values[docId];
|
||||
return arrayScratch;
|
||||
} else {
|
||||
return LongArrayRef.EMPTY;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public Iter getIter(int docId) {
|
||||
if (set.get(docId)) {
|
||||
@ -572,7 +517,6 @@ public abstract class DoubleArrayAtomicFieldData extends AtomicNumericFieldData
|
||||
private final double[] values;
|
||||
private final FixedBitSet set;
|
||||
|
||||
private final DoubleArrayRef arrayScratch = new DoubleArrayRef(new double[1], 1);
|
||||
private final Iter.Single iter = new Iter.Single();
|
||||
|
||||
DoubleValues(double[] values, FixedBitSet set) {
|
||||
@ -604,16 +548,6 @@ public abstract class DoubleArrayAtomicFieldData extends AtomicNumericFieldData
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public DoubleArrayRef getValues(int docId) {
|
||||
if (set.get(docId)) {
|
||||
arrayScratch.values[0] = values[docId];
|
||||
return arrayScratch;
|
||||
} else {
|
||||
return DoubleArrayRef.EMPTY;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public Iter getIter(int docId) {
|
||||
if (set.get(docId)) {
|
||||
@ -690,7 +624,6 @@ public abstract class DoubleArrayAtomicFieldData extends AtomicNumericFieldData
|
||||
|
||||
private final double[] values;
|
||||
|
||||
private final StringArrayRef arrayScratch = new StringArrayRef(new String[1], 1);
|
||||
private final Iter.Single iter = new Iter.Single();
|
||||
|
||||
StringValues(double[] values) {
|
||||
@ -712,12 +645,6 @@ public abstract class DoubleArrayAtomicFieldData extends AtomicNumericFieldData
|
||||
return Double.toString(values[docId]);
|
||||
}
|
||||
|
||||
@Override
|
||||
public StringArrayRef getValues(int docId) {
|
||||
arrayScratch.values[0] = Double.toString(values[docId]);
|
||||
return arrayScratch;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Iter getIter(int docId) {
|
||||
return iter.reset(Double.toString(values[docId]));
|
||||
@ -733,7 +660,6 @@ public abstract class DoubleArrayAtomicFieldData extends AtomicNumericFieldData
|
||||
|
||||
private final double[] values;
|
||||
|
||||
private final LongArrayRef arrayScratch = new LongArrayRef(new long[1], 1);
|
||||
private final Iter.Single iter = new Iter.Single();
|
||||
|
||||
LongValues(double[] values) {
|
||||
@ -760,12 +686,6 @@ public abstract class DoubleArrayAtomicFieldData extends AtomicNumericFieldData
|
||||
return (long) values[docId];
|
||||
}
|
||||
|
||||
@Override
|
||||
public LongArrayRef getValues(int docId) {
|
||||
arrayScratch.values[0] = (long) values[docId];
|
||||
return arrayScratch;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Iter getIter(int docId) {
|
||||
return iter.reset((long) values[docId]);
|
||||
@ -781,7 +701,6 @@ public abstract class DoubleArrayAtomicFieldData extends AtomicNumericFieldData
|
||||
|
||||
private final double[] values;
|
||||
|
||||
private final DoubleArrayRef arrayScratch = new DoubleArrayRef(new double[1], 1);
|
||||
private final Iter.Single iter = new Iter.Single();
|
||||
|
||||
DoubleValues(double[] values) {
|
||||
@ -808,12 +727,6 @@ public abstract class DoubleArrayAtomicFieldData extends AtomicNumericFieldData
|
||||
return values[docId];
|
||||
}
|
||||
|
||||
@Override
|
||||
public DoubleArrayRef getValues(int docId) {
|
||||
arrayScratch.values[0] = values[docId];
|
||||
return arrayScratch;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Iter getIter(int docId) {
|
||||
return iter.reset(values[docId]);
|
||||
|
@ -150,8 +150,6 @@ public abstract class FloatArrayAtomicFieldData extends AtomicNumericFieldData {
|
||||
|
||||
private final float[] values;
|
||||
private final Ordinals.Docs ordinals;
|
||||
|
||||
private final LongArrayRef arrayScratch = new LongArrayRef(new long[1], 1);
|
||||
private final ValuesIter iter;
|
||||
|
||||
LongValues(float[] values, Ordinals.Docs ordinals) {
|
||||
@ -185,19 +183,6 @@ public abstract class FloatArrayAtomicFieldData extends AtomicNumericFieldData {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public LongArrayRef getValues(int docId) {
|
||||
IntArrayRef ords = ordinals.getOrds(docId);
|
||||
int size = ords.size();
|
||||
if (size == 0) return LongArrayRef.EMPTY;
|
||||
|
||||
arrayScratch.reset(size);
|
||||
for (int i = ords.start; i < ords.end; i++) {
|
||||
arrayScratch.values[arrayScratch.end++] = (long) values[ords.values[i]];
|
||||
}
|
||||
return arrayScratch;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Iter getIter(int docId) {
|
||||
return iter.reset(ordinals.getIter(docId));
|
||||
@ -250,8 +235,6 @@ public abstract class FloatArrayAtomicFieldData extends AtomicNumericFieldData {
|
||||
|
||||
private final float[] values;
|
||||
private final Ordinals.Docs ordinals;
|
||||
|
||||
private final DoubleArrayRef arrayScratch = new DoubleArrayRef(new double[1], 1);
|
||||
private final ValuesIter iter;
|
||||
|
||||
DoubleValues(float[] values, Ordinals.Docs ordinals) {
|
||||
@ -285,19 +268,6 @@ public abstract class FloatArrayAtomicFieldData extends AtomicNumericFieldData {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public DoubleArrayRef getValues(int docId) {
|
||||
IntArrayRef ords = ordinals.getOrds(docId);
|
||||
int size = ords.size();
|
||||
if (size == 0) return DoubleArrayRef.EMPTY;
|
||||
|
||||
arrayScratch.reset(size);
|
||||
for (int i = ords.start; i < ords.end; i++) {
|
||||
arrayScratch.values[arrayScratch.end++] = (double) values[ords.values[i]];
|
||||
}
|
||||
return arrayScratch;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Iter getIter(int docId) {
|
||||
return iter.reset(ordinals.getIter(docId));
|
||||
@ -408,8 +378,6 @@ public abstract class FloatArrayAtomicFieldData extends AtomicNumericFieldData {
|
||||
|
||||
private final float[] values;
|
||||
private final FixedBitSet set;
|
||||
|
||||
private final LongArrayRef arrayScratch = new LongArrayRef(new long[1], 1);
|
||||
private final Iter.Single iter = new Iter.Single();
|
||||
|
||||
LongValues(float[] values, FixedBitSet set) {
|
||||
@ -441,16 +409,6 @@ public abstract class FloatArrayAtomicFieldData extends AtomicNumericFieldData {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public LongArrayRef getValues(int docId) {
|
||||
if (set.get(docId)) {
|
||||
arrayScratch.values[0] = (long) values[docId];
|
||||
return arrayScratch;
|
||||
} else {
|
||||
return LongArrayRef.EMPTY;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public Iter getIter(int docId) {
|
||||
if (set.get(docId)) {
|
||||
@ -474,8 +432,6 @@ public abstract class FloatArrayAtomicFieldData extends AtomicNumericFieldData {
|
||||
|
||||
private final float[] values;
|
||||
private final FixedBitSet set;
|
||||
|
||||
private final DoubleArrayRef arrayScratch = new DoubleArrayRef(new double[1], 1);
|
||||
private final Iter.Single iter = new Iter.Single();
|
||||
|
||||
DoubleValues(float[] values, FixedBitSet set) {
|
||||
@ -507,16 +463,6 @@ public abstract class FloatArrayAtomicFieldData extends AtomicNumericFieldData {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public DoubleArrayRef getValues(int docId) {
|
||||
if (set.get(docId)) {
|
||||
arrayScratch.values[0] = (double) values[docId];
|
||||
return arrayScratch;
|
||||
} else {
|
||||
return DoubleArrayRef.EMPTY;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public Iter getIter(int docId) {
|
||||
if (set.get(docId)) {
|
||||
@ -598,8 +544,6 @@ public abstract class FloatArrayAtomicFieldData extends AtomicNumericFieldData {
|
||||
static class LongValues implements org.elasticsearch.index.fielddata.LongValues {
|
||||
|
||||
private final float[] values;
|
||||
|
||||
private final LongArrayRef arrayScratch = new LongArrayRef(new long[1], 1);
|
||||
private final Iter.Single iter = new Iter.Single();
|
||||
|
||||
LongValues(float[] values) {
|
||||
@ -626,12 +570,6 @@ public abstract class FloatArrayAtomicFieldData extends AtomicNumericFieldData {
|
||||
return (long) values[docId];
|
||||
}
|
||||
|
||||
@Override
|
||||
public LongArrayRef getValues(int docId) {
|
||||
arrayScratch.values[0] = (long) values[docId];
|
||||
return arrayScratch;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Iter getIter(int docId) {
|
||||
return iter.reset((long) values[docId]);
|
||||
@ -646,8 +584,6 @@ public abstract class FloatArrayAtomicFieldData extends AtomicNumericFieldData {
|
||||
static class DoubleValues implements org.elasticsearch.index.fielddata.DoubleValues {
|
||||
|
||||
private final float[] values;
|
||||
|
||||
private final DoubleArrayRef arrayScratch = new DoubleArrayRef(new double[1], 1);
|
||||
private final Iter.Single iter = new Iter.Single();
|
||||
|
||||
DoubleValues(float[] values) {
|
||||
@ -674,12 +610,6 @@ public abstract class FloatArrayAtomicFieldData extends AtomicNumericFieldData {
|
||||
return (double) values[docId];
|
||||
}
|
||||
|
||||
@Override
|
||||
public DoubleArrayRef getValues(int docId) {
|
||||
arrayScratch.values[0] = (double) values[docId];
|
||||
return arrayScratch;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Iter getIter(int docId) {
|
||||
return iter.reset((double) values[docId]);
|
||||
|
@ -150,8 +150,6 @@ public abstract class GeoPointDoubleArrayAtomicFieldData extends AtomicGeoPointF
|
||||
private final double[] lon;
|
||||
private final double[] lat;
|
||||
private final Ordinals.Docs ordinals;
|
||||
|
||||
private final StringArrayRef arrayScratch = new StringArrayRef(new String[1], 1);
|
||||
private final ValuesIter valuesIter;
|
||||
|
||||
StringValues(double[] lon, double[] lat, Ordinals.Docs ordinals) {
|
||||
@ -180,20 +178,6 @@ public abstract class GeoPointDoubleArrayAtomicFieldData extends AtomicGeoPointF
|
||||
return GeoHashUtils.encode(lat[ord], lon[ord]);
|
||||
}
|
||||
|
||||
@Override
|
||||
public StringArrayRef getValues(int docId) {
|
||||
IntArrayRef ords = ordinals.getOrds(docId);
|
||||
int size = ords.size();
|
||||
if (size == 0) return StringArrayRef.EMPTY;
|
||||
|
||||
arrayScratch.reset(size);
|
||||
for (int i = ords.start; i < ords.end; i++) {
|
||||
int ord = ords.values[i];
|
||||
arrayScratch.values[arrayScratch.end++] = GeoHashUtils.encode(lat[ord], lon[ord]);
|
||||
}
|
||||
return arrayScratch;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Iter getIter(int docId) {
|
||||
return valuesIter.reset(ordinals.getIter(docId));
|
||||
@ -251,7 +235,6 @@ public abstract class GeoPointDoubleArrayAtomicFieldData extends AtomicGeoPointF
|
||||
private final Ordinals.Docs ordinals;
|
||||
|
||||
private final GeoPoint scratch = new GeoPoint();
|
||||
private final GeoPointArrayRef arrayScratch = new GeoPointArrayRef(new GeoPoint[1], 1);
|
||||
private final ValuesIter valuesIter;
|
||||
private final SafeValuesIter safeValuesIter;
|
||||
|
||||
@ -291,20 +274,6 @@ public abstract class GeoPointDoubleArrayAtomicFieldData extends AtomicGeoPointF
|
||||
return new GeoPoint(lat[ord], lon[ord]);
|
||||
}
|
||||
|
||||
@Override
|
||||
public GeoPointArrayRef getValues(int docId) {
|
||||
IntArrayRef ords = ordinals.getOrds(docId);
|
||||
int size = ords.size();
|
||||
if (size == 0) return GeoPointArrayRef.EMPTY;
|
||||
|
||||
arrayScratch.reset(size);
|
||||
for (int i = ords.start; i < ords.end; i++) {
|
||||
int ord = ords.values[i];
|
||||
arrayScratch.values[arrayScratch.end++].reset(lat[ord], lon[ord]);
|
||||
}
|
||||
return arrayScratch;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Iter getIter(int docId) {
|
||||
return valuesIter.reset(ordinals.getIter(docId));
|
||||
@ -315,44 +284,6 @@ public abstract class GeoPointDoubleArrayAtomicFieldData extends AtomicGeoPointF
|
||||
return safeValuesIter.reset(ordinals.getIter(docId));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void forEachValueInDoc(int docId, ValueInDocProc proc) {
|
||||
Ordinals.Docs.Iter iter = ordinals.getIter(docId);
|
||||
int ord = iter.next();
|
||||
if (ord == 0) {
|
||||
proc.onMissing(docId);
|
||||
return;
|
||||
}
|
||||
do {
|
||||
proc.onValue(docId, scratch.reset(lat[ord], lon[ord]));
|
||||
} while ((ord = iter.next()) != 0);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void forEachSafeValueInDoc(int docId, ValueInDocProc proc) {
|
||||
Ordinals.Docs.Iter iter = ordinals.getIter(docId);
|
||||
int ord = iter.next();
|
||||
if (ord == 0) {
|
||||
proc.onMissing(docId);
|
||||
return;
|
||||
}
|
||||
do {
|
||||
proc.onValue(docId, new GeoPoint(lat[ord], lon[ord]));
|
||||
} while ((ord = iter.next()) != 0);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void forEachLatLonValueInDoc(int docId, LatLonValueInDocProc proc) {
|
||||
Ordinals.Docs.Iter iter = ordinals.getIter(docId);
|
||||
int ord = iter.next();
|
||||
if (ord == 0) {
|
||||
proc.onMissing(docId);
|
||||
return;
|
||||
}
|
||||
do {
|
||||
proc.onValue(docId, lat[ord], lon[ord]);
|
||||
} while ((ord = iter.next()) != 0);
|
||||
}
|
||||
|
||||
static class ValuesIter implements Iter {
|
||||
|
||||
@ -472,7 +403,6 @@ public abstract class GeoPointDoubleArrayAtomicFieldData extends AtomicGeoPointF
|
||||
private final double[] lat;
|
||||
private final FixedBitSet set;
|
||||
|
||||
private final StringArrayRef arrayScratch = new StringArrayRef(new String[1], 1);
|
||||
private final Iter.Single iter = new Iter.Single();
|
||||
|
||||
StringValues(double[] lon, double[] lat, FixedBitSet set) {
|
||||
@ -500,16 +430,6 @@ public abstract class GeoPointDoubleArrayAtomicFieldData extends AtomicGeoPointF
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public StringArrayRef getValues(int docId) {
|
||||
if (set.get(docId)) {
|
||||
arrayScratch.values[0] = GeoHashUtils.encode(lat[docId], lon[docId]);
|
||||
return arrayScratch;
|
||||
} else {
|
||||
return StringArrayRef.EMPTY;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public Iter getIter(int docId) {
|
||||
if (set.get(docId)) {
|
||||
@ -536,7 +456,6 @@ public abstract class GeoPointDoubleArrayAtomicFieldData extends AtomicGeoPointF
|
||||
private final FixedBitSet set;
|
||||
|
||||
private final GeoPoint scratch = new GeoPoint();
|
||||
private final GeoPointArrayRef arrayScratch = new GeoPointArrayRef(new GeoPoint[1]);
|
||||
private final Iter.Single iter = new Iter.Single();
|
||||
|
||||
GeoPointValues(double[] lon, double[] lat, FixedBitSet set) {
|
||||
@ -573,16 +492,6 @@ public abstract class GeoPointDoubleArrayAtomicFieldData extends AtomicGeoPointF
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public GeoPointArrayRef getValues(int docId) {
|
||||
if (set.get(docId)) {
|
||||
arrayScratch.values[0].reset(lat[docId], lon[docId]);
|
||||
return arrayScratch;
|
||||
} else {
|
||||
return GeoPointArrayRef.EMPTY;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public Iter getIter(int docId) {
|
||||
if (set.get(docId)) {
|
||||
@ -600,33 +509,6 @@ public abstract class GeoPointDoubleArrayAtomicFieldData extends AtomicGeoPointF
|
||||
return Iter.Empty.INSTANCE;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void forEachValueInDoc(int docId, ValueInDocProc proc) {
|
||||
if (set.get(docId)) {
|
||||
proc.onValue(docId, scratch.reset(lat[docId], lon[docId]));
|
||||
} else {
|
||||
proc.onMissing(docId);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void forEachSafeValueInDoc(int docId, ValueInDocProc proc) {
|
||||
if (set.get(docId)) {
|
||||
proc.onValue(docId, new GeoPoint(lat[docId], lon[docId]));
|
||||
} else {
|
||||
proc.onMissing(docId);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void forEachLatLonValueInDoc(int docId, LatLonValueInDocProc proc) {
|
||||
if (set.get(docId)) {
|
||||
proc.onValue(docId, lat[docId], lon[docId]);
|
||||
} else {
|
||||
proc.onMissing(docId);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -677,7 +559,6 @@ public abstract class GeoPointDoubleArrayAtomicFieldData extends AtomicGeoPointF
|
||||
private final double[] lon;
|
||||
private final double[] lat;
|
||||
|
||||
private final StringArrayRef arrayScratch = new StringArrayRef(new String[1], 1);
|
||||
private final Iter.Single iter = new Iter.Single();
|
||||
|
||||
StringValues(double[] lon, double[] lat) {
|
||||
@ -700,12 +581,6 @@ public abstract class GeoPointDoubleArrayAtomicFieldData extends AtomicGeoPointF
|
||||
return GeoHashUtils.encode(lat[docId], lon[docId]);
|
||||
}
|
||||
|
||||
@Override
|
||||
public StringArrayRef getValues(int docId) {
|
||||
arrayScratch.values[0] = GeoHashUtils.encode(lat[docId], lon[docId]);
|
||||
return arrayScratch;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Iter getIter(int docId) {
|
||||
return iter.reset(GeoHashUtils.encode(lat[docId], lon[docId]));
|
||||
@ -723,7 +598,6 @@ public abstract class GeoPointDoubleArrayAtomicFieldData extends AtomicGeoPointF
|
||||
private final double[] lat;
|
||||
|
||||
private final GeoPoint scratch = new GeoPoint();
|
||||
private final GeoPointArrayRef arrayScratch = new GeoPointArrayRef(new GeoPoint[1]);
|
||||
private final Iter.Single iter = new Iter.Single();
|
||||
|
||||
GeoPointValues(double[] lon, double[] lat) {
|
||||
@ -751,12 +625,6 @@ public abstract class GeoPointDoubleArrayAtomicFieldData extends AtomicGeoPointF
|
||||
return new GeoPoint(lat[docId], lon[docId]);
|
||||
}
|
||||
|
||||
@Override
|
||||
public GeoPointArrayRef getValues(int docId) {
|
||||
arrayScratch.values[0].reset(lat[docId], lon[docId]);
|
||||
return arrayScratch;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Iter getIter(int docId) {
|
||||
return iter.reset(scratch.reset(lat[docId], lon[docId]));
|
||||
@ -766,21 +634,6 @@ public abstract class GeoPointDoubleArrayAtomicFieldData extends AtomicGeoPointF
|
||||
public Iter getIterSafe(int docId) {
|
||||
return iter.reset(new GeoPoint(lat[docId], lon[docId]));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void forEachValueInDoc(int docId, ValueInDocProc proc) {
|
||||
proc.onValue(docId, scratch.reset(lat[docId], lon[docId]));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void forEachSafeValueInDoc(int docId, ValueInDocProc proc) {
|
||||
proc.onValue(docId, new GeoPoint(lat[docId], lon[docId]));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void forEachLatLonValueInDoc(int docId, LatLonValueInDocProc proc) {
|
||||
proc.onValue(docId, lat[docId], lon[docId]);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -21,11 +21,13 @@ package org.elasticsearch.index.fielddata.plain;
|
||||
|
||||
import org.apache.lucene.util.FixedBitSet;
|
||||
import org.elasticsearch.common.RamUsage;
|
||||
import org.elasticsearch.index.fielddata.*;
|
||||
import org.elasticsearch.index.fielddata.AtomicNumericFieldData;
|
||||
import org.elasticsearch.index.fielddata.BytesValues;
|
||||
import org.elasticsearch.index.fielddata.DoubleValues;
|
||||
import org.elasticsearch.index.fielddata.LongValues;
|
||||
import org.elasticsearch.index.fielddata.ScriptDocValues;
|
||||
import org.elasticsearch.index.fielddata.StringValues;
|
||||
import org.elasticsearch.index.fielddata.ordinals.Ordinals;
|
||||
import org.elasticsearch.index.fielddata.util.DoubleArrayRef;
|
||||
import org.elasticsearch.index.fielddata.util.IntArrayRef;
|
||||
import org.elasticsearch.index.fielddata.util.LongArrayRef;
|
||||
|
||||
/**
|
||||
*/
|
||||
@ -150,8 +152,6 @@ public abstract class IntArrayAtomicFieldData extends AtomicNumericFieldData {
|
||||
|
||||
private final int[] values;
|
||||
private final Ordinals.Docs ordinals;
|
||||
|
||||
private final LongArrayRef arrayScratch = new LongArrayRef(new long[1], 1);
|
||||
private final ValuesIter iter;
|
||||
|
||||
LongValues(int[] values, Ordinals.Docs ordinals) {
|
||||
@ -185,19 +185,6 @@ public abstract class IntArrayAtomicFieldData extends AtomicNumericFieldData {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public LongArrayRef getValues(int docId) {
|
||||
IntArrayRef ords = ordinals.getOrds(docId);
|
||||
int size = ords.size();
|
||||
if (size == 0) return LongArrayRef.EMPTY;
|
||||
|
||||
arrayScratch.reset(size);
|
||||
for (int i = ords.start; i < ords.end; i++) {
|
||||
arrayScratch.values[arrayScratch.end++] = (long) values[ords.values[i]];
|
||||
}
|
||||
return arrayScratch;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Iter getIter(int docId) {
|
||||
return iter.reset(ordinals.getIter(docId));
|
||||
@ -250,8 +237,6 @@ public abstract class IntArrayAtomicFieldData extends AtomicNumericFieldData {
|
||||
|
||||
private final int[] values;
|
||||
private final Ordinals.Docs ordinals;
|
||||
|
||||
private final DoubleArrayRef arrayScratch = new DoubleArrayRef(new double[1], 1);
|
||||
private final ValuesIter iter;
|
||||
|
||||
DoubleValues(int[] values, Ordinals.Docs ordinals) {
|
||||
@ -285,19 +270,6 @@ public abstract class IntArrayAtomicFieldData extends AtomicNumericFieldData {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public DoubleArrayRef getValues(int docId) {
|
||||
IntArrayRef ords = ordinals.getOrds(docId);
|
||||
int size = ords.size();
|
||||
if (size == 0) return DoubleArrayRef.EMPTY;
|
||||
|
||||
arrayScratch.reset(size);
|
||||
for (int i = ords.start; i < ords.end; i++) {
|
||||
arrayScratch.values[arrayScratch.end++] = (double) values[ords.values[i]];
|
||||
}
|
||||
return arrayScratch;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Iter getIter(int docId) {
|
||||
return iter.reset(ordinals.getIter(docId));
|
||||
@ -407,8 +379,6 @@ public abstract class IntArrayAtomicFieldData extends AtomicNumericFieldData {
|
||||
|
||||
private final int[] values;
|
||||
private final FixedBitSet set;
|
||||
|
||||
private final LongArrayRef arrayScratch = new LongArrayRef(new long[1], 1);
|
||||
private final Iter.Single iter = new Iter.Single();
|
||||
|
||||
LongValues(int[] values, FixedBitSet set) {
|
||||
@ -440,16 +410,6 @@ public abstract class IntArrayAtomicFieldData extends AtomicNumericFieldData {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public LongArrayRef getValues(int docId) {
|
||||
if (set.get(docId)) {
|
||||
arrayScratch.values[0] = (long) values[docId];
|
||||
return arrayScratch;
|
||||
} else {
|
||||
return LongArrayRef.EMPTY;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public Iter getIter(int docId) {
|
||||
if (set.get(docId)) {
|
||||
@ -473,8 +433,6 @@ public abstract class IntArrayAtomicFieldData extends AtomicNumericFieldData {
|
||||
|
||||
private final int[] values;
|
||||
private final FixedBitSet set;
|
||||
|
||||
private final DoubleArrayRef arrayScratch = new DoubleArrayRef(new double[1], 1);
|
||||
private final Iter.Single iter = new Iter.Single();
|
||||
|
||||
DoubleValues(int[] values, FixedBitSet set) {
|
||||
@ -506,16 +464,6 @@ public abstract class IntArrayAtomicFieldData extends AtomicNumericFieldData {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public DoubleArrayRef getValues(int docId) {
|
||||
if (set.get(docId)) {
|
||||
arrayScratch.values[0] = (double) values[docId];
|
||||
return arrayScratch;
|
||||
} else {
|
||||
return DoubleArrayRef.EMPTY;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public Iter getIter(int docId) {
|
||||
if (set.get(docId)) {
|
||||
@ -595,8 +543,6 @@ public abstract class IntArrayAtomicFieldData extends AtomicNumericFieldData {
|
||||
static class LongValues implements org.elasticsearch.index.fielddata.LongValues {
|
||||
|
||||
private final int[] values;
|
||||
|
||||
private final LongArrayRef arrayScratch = new LongArrayRef(new long[1], 1);
|
||||
private final Iter.Single iter = new Iter.Single();
|
||||
|
||||
LongValues(int[] values) {
|
||||
@ -624,12 +570,6 @@ public abstract class IntArrayAtomicFieldData extends AtomicNumericFieldData {
|
||||
return (long) values[docId];
|
||||
}
|
||||
|
||||
@Override
|
||||
public LongArrayRef getValues(int docId) {
|
||||
arrayScratch.values[0] = (long) values[docId];
|
||||
return arrayScratch;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Iter getIter(int docId) {
|
||||
return iter.reset((long) values[docId]);
|
||||
@ -644,8 +584,6 @@ public abstract class IntArrayAtomicFieldData extends AtomicNumericFieldData {
|
||||
static class DoubleValues implements org.elasticsearch.index.fielddata.DoubleValues {
|
||||
|
||||
private final int[] values;
|
||||
|
||||
private final DoubleArrayRef arrayScratch = new DoubleArrayRef(new double[1], 1);
|
||||
private final Iter.Single iter = new Iter.Single();
|
||||
|
||||
DoubleValues(int[] values) {
|
||||
@ -672,12 +610,6 @@ public abstract class IntArrayAtomicFieldData extends AtomicNumericFieldData {
|
||||
return (double) values[docId];
|
||||
}
|
||||
|
||||
@Override
|
||||
public DoubleArrayRef getValues(int docId) {
|
||||
arrayScratch.values[0] = (double) values[docId];
|
||||
return arrayScratch;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Iter getIter(int docId) {
|
||||
return iter.reset((double) values[docId]);
|
||||
|
@ -151,8 +151,6 @@ public abstract class LongArrayAtomicFieldData extends AtomicNumericFieldData {
|
||||
|
||||
private final long[] values;
|
||||
private final Ordinals.Docs ordinals;
|
||||
|
||||
private final StringArrayRef arrayScratch = new StringArrayRef(new String[1], 1);
|
||||
private final ValuesIter valuesIter;
|
||||
|
||||
StringValues(long[] values, Ordinals.Docs ordinals) {
|
||||
@ -180,19 +178,6 @@ public abstract class LongArrayAtomicFieldData extends AtomicNumericFieldData {
|
||||
return Long.toString(values[ord]);
|
||||
}
|
||||
|
||||
@Override
|
||||
public StringArrayRef getValues(int docId) {
|
||||
IntArrayRef ords = ordinals.getOrds(docId);
|
||||
int size = ords.size();
|
||||
if (size == 0) return StringArrayRef.EMPTY;
|
||||
|
||||
arrayScratch.reset(size);
|
||||
for (int i = ords.start; i < ords.end; i++) {
|
||||
arrayScratch.values[arrayScratch.end++] = Long.toString(values[ords.values[i]]);
|
||||
}
|
||||
return arrayScratch;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Iter getIter(int docId) {
|
||||
return valuesIter.reset(ordinals.getIter(docId));
|
||||
@ -245,8 +230,6 @@ public abstract class LongArrayAtomicFieldData extends AtomicNumericFieldData {
|
||||
|
||||
private final long[] values;
|
||||
private final Ordinals.Docs ordinals;
|
||||
|
||||
private final LongArrayRef arrayScratch = new LongArrayRef(new long[1], 1);
|
||||
private final ValuesIter iter;
|
||||
|
||||
LongValues(long[] values, Ordinals.Docs ordinals) {
|
||||
@ -280,19 +263,6 @@ public abstract class LongArrayAtomicFieldData extends AtomicNumericFieldData {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public LongArrayRef getValues(int docId) {
|
||||
IntArrayRef ords = ordinals.getOrds(docId);
|
||||
int size = ords.size();
|
||||
if (size == 0) return LongArrayRef.EMPTY;
|
||||
|
||||
arrayScratch.reset(size);
|
||||
for (int i = ords.start; i < ords.end; i++) {
|
||||
arrayScratch.values[arrayScratch.end++] = values[ords.values[i]];
|
||||
}
|
||||
return arrayScratch;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Iter getIter(int docId) {
|
||||
return iter.reset(ordinals.getIter(docId));
|
||||
@ -345,8 +315,6 @@ public abstract class LongArrayAtomicFieldData extends AtomicNumericFieldData {
|
||||
|
||||
private final long[] values;
|
||||
private final Ordinals.Docs ordinals;
|
||||
|
||||
private final DoubleArrayRef arrayScratch = new DoubleArrayRef(new double[1], 1);
|
||||
private final ValuesIter iter;
|
||||
|
||||
DoubleValues(long[] values, Ordinals.Docs ordinals) {
|
||||
@ -380,19 +348,6 @@ public abstract class LongArrayAtomicFieldData extends AtomicNumericFieldData {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public DoubleArrayRef getValues(int docId) {
|
||||
IntArrayRef ords = ordinals.getOrds(docId);
|
||||
int size = ords.size();
|
||||
if (size == 0) return DoubleArrayRef.EMPTY;
|
||||
|
||||
arrayScratch.reset(size);
|
||||
for (int i = ords.start; i < ords.end; i++) {
|
||||
arrayScratch.values[arrayScratch.end++] = (double) values[ords.values[i]];
|
||||
}
|
||||
return arrayScratch;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Iter getIter(int docId) {
|
||||
return iter.reset(ordinals.getIter(docId));
|
||||
@ -502,8 +457,6 @@ public abstract class LongArrayAtomicFieldData extends AtomicNumericFieldData {
|
||||
|
||||
private final long[] values;
|
||||
private final FixedBitSet set;
|
||||
|
||||
private final StringArrayRef arrayScratch = new StringArrayRef(new String[1], 1);
|
||||
private final Iter.Single iter = new Iter.Single();
|
||||
|
||||
StringValues(long[] values, FixedBitSet set) {
|
||||
@ -530,16 +483,6 @@ public abstract class LongArrayAtomicFieldData extends AtomicNumericFieldData {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public StringArrayRef getValues(int docId) {
|
||||
if (set.get(docId)) {
|
||||
arrayScratch.values[0] = Long.toString(values[docId]);
|
||||
return arrayScratch;
|
||||
} else {
|
||||
return StringArrayRef.EMPTY;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public Iter getIter(int docId) {
|
||||
if (set.get(docId)) {
|
||||
@ -563,8 +506,6 @@ public abstract class LongArrayAtomicFieldData extends AtomicNumericFieldData {
|
||||
|
||||
private final long[] values;
|
||||
private final FixedBitSet set;
|
||||
|
||||
private final LongArrayRef arrayScratch = new LongArrayRef(new long[1], 1);
|
||||
private final Iter.Single iter = new Iter.Single();
|
||||
|
||||
LongValues(long[] values, FixedBitSet set) {
|
||||
@ -596,16 +537,6 @@ public abstract class LongArrayAtomicFieldData extends AtomicNumericFieldData {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public LongArrayRef getValues(int docId) {
|
||||
if (set.get(docId)) {
|
||||
arrayScratch.values[0] = values[docId];
|
||||
return arrayScratch;
|
||||
} else {
|
||||
return LongArrayRef.EMPTY;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public Iter getIter(int docId) {
|
||||
if (set.get(docId)) {
|
||||
@ -629,8 +560,6 @@ public abstract class LongArrayAtomicFieldData extends AtomicNumericFieldData {
|
||||
|
||||
private final long[] values;
|
||||
private final FixedBitSet set;
|
||||
|
||||
private final DoubleArrayRef arrayScratch = new DoubleArrayRef(new double[1], 1);
|
||||
private final Iter.Single iter = new Iter.Single();
|
||||
|
||||
DoubleValues(long[] values, FixedBitSet set) {
|
||||
@ -662,16 +591,6 @@ public abstract class LongArrayAtomicFieldData extends AtomicNumericFieldData {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public DoubleArrayRef getValues(int docId) {
|
||||
if (set.get(docId)) {
|
||||
arrayScratch.values[0] = (double) values[docId];
|
||||
return arrayScratch;
|
||||
} else {
|
||||
return DoubleArrayRef.EMPTY;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public Iter getIter(int docId) {
|
||||
if (set.get(docId)) {
|
||||
@ -751,8 +670,6 @@ public abstract class LongArrayAtomicFieldData extends AtomicNumericFieldData {
|
||||
static class StringValues implements org.elasticsearch.index.fielddata.StringValues {
|
||||
|
||||
private final long[] values;
|
||||
|
||||
private final StringArrayRef arrayScratch = new StringArrayRef(new String[1], 1);
|
||||
private final Iter.Single iter = new Iter.Single();
|
||||
|
||||
StringValues(long[] values) {
|
||||
@ -774,12 +691,6 @@ public abstract class LongArrayAtomicFieldData extends AtomicNumericFieldData {
|
||||
return Long.toString(values[docId]);
|
||||
}
|
||||
|
||||
@Override
|
||||
public StringArrayRef getValues(int docId) {
|
||||
arrayScratch.values[0] = Long.toString(values[docId]);
|
||||
return arrayScratch;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Iter getIter(int docId) {
|
||||
return iter.reset(Long.toString(values[docId]));
|
||||
@ -794,8 +705,6 @@ public abstract class LongArrayAtomicFieldData extends AtomicNumericFieldData {
|
||||
static class LongValues implements org.elasticsearch.index.fielddata.LongValues {
|
||||
|
||||
private final long[] values;
|
||||
|
||||
private final LongArrayRef arrayScratch = new LongArrayRef(new long[1], 1);
|
||||
private final Iter.Single iter = new Iter.Single();
|
||||
|
||||
LongValues(long[] values) {
|
||||
@ -822,12 +731,6 @@ public abstract class LongArrayAtomicFieldData extends AtomicNumericFieldData {
|
||||
return values[docId];
|
||||
}
|
||||
|
||||
@Override
|
||||
public LongArrayRef getValues(int docId) {
|
||||
arrayScratch.values[0] = values[docId];
|
||||
return arrayScratch;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Iter getIter(int docId) {
|
||||
return iter.reset(values[docId]);
|
||||
@ -842,8 +745,6 @@ public abstract class LongArrayAtomicFieldData extends AtomicNumericFieldData {
|
||||
static class DoubleValues implements org.elasticsearch.index.fielddata.DoubleValues {
|
||||
|
||||
private final long[] values;
|
||||
|
||||
private final DoubleArrayRef arrayScratch = new DoubleArrayRef(new double[1], 1);
|
||||
private final Iter.Single iter = new Iter.Single();
|
||||
|
||||
DoubleValues(long[] values) {
|
||||
@ -870,12 +771,6 @@ public abstract class LongArrayAtomicFieldData extends AtomicNumericFieldData {
|
||||
return (double) values[docId];
|
||||
}
|
||||
|
||||
@Override
|
||||
public DoubleArrayRef getValues(int docId) {
|
||||
arrayScratch.values[0] = (double) values[docId];
|
||||
return arrayScratch;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Iter getIter(int docId) {
|
||||
return iter.reset((double) values[docId]);
|
||||
|
@ -150,8 +150,6 @@ public abstract class ShortArrayAtomicFieldData extends AtomicNumericFieldData {
|
||||
|
||||
private final short[] values;
|
||||
private final Ordinals.Docs ordinals;
|
||||
|
||||
private final LongArrayRef arrayScratch = new LongArrayRef(new long[1], 1);
|
||||
private final ValuesIter iter;
|
||||
|
||||
LongValues(short[] values, Ordinals.Docs ordinals) {
|
||||
@ -185,19 +183,6 @@ public abstract class ShortArrayAtomicFieldData extends AtomicNumericFieldData {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public LongArrayRef getValues(int docId) {
|
||||
IntArrayRef ords = ordinals.getOrds(docId);
|
||||
int size = ords.size();
|
||||
if (size == 0) return LongArrayRef.EMPTY;
|
||||
|
||||
arrayScratch.reset(size);
|
||||
for (int i = ords.start; i < ords.end; i++) {
|
||||
arrayScratch.values[arrayScratch.end++] = (long) values[ords.values[i]];
|
||||
}
|
||||
return arrayScratch;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Iter getIter(int docId) {
|
||||
return iter.reset(ordinals.getIter(docId));
|
||||
@ -250,8 +235,6 @@ public abstract class ShortArrayAtomicFieldData extends AtomicNumericFieldData {
|
||||
|
||||
private final short[] values;
|
||||
private final Ordinals.Docs ordinals;
|
||||
|
||||
private final DoubleArrayRef arrayScratch = new DoubleArrayRef(new double[1], 1);
|
||||
private final ValuesIter iter;
|
||||
|
||||
DoubleValues(short[] values, Ordinals.Docs ordinals) {
|
||||
@ -285,19 +268,6 @@ public abstract class ShortArrayAtomicFieldData extends AtomicNumericFieldData {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public DoubleArrayRef getValues(int docId) {
|
||||
IntArrayRef ords = ordinals.getOrds(docId);
|
||||
int size = ords.size();
|
||||
if (size == 0) return DoubleArrayRef.EMPTY;
|
||||
|
||||
arrayScratch.reset(size);
|
||||
for (int i = ords.start; i < ords.end; i++) {
|
||||
arrayScratch.values[arrayScratch.end++] = (double) values[ords.values[i]];
|
||||
}
|
||||
return arrayScratch;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Iter getIter(int docId) {
|
||||
return iter.reset(ordinals.getIter(docId));
|
||||
@ -407,8 +377,6 @@ public abstract class ShortArrayAtomicFieldData extends AtomicNumericFieldData {
|
||||
|
||||
private final short[] values;
|
||||
private final FixedBitSet set;
|
||||
|
||||
private final LongArrayRef arrayScratch = new LongArrayRef(new long[1], 1);
|
||||
private final Iter.Single iter = new Iter.Single();
|
||||
|
||||
LongValues(short[] values, FixedBitSet set) {
|
||||
@ -440,16 +408,6 @@ public abstract class ShortArrayAtomicFieldData extends AtomicNumericFieldData {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public LongArrayRef getValues(int docId) {
|
||||
if (set.get(docId)) {
|
||||
arrayScratch.values[0] = (long) values[docId];
|
||||
return arrayScratch;
|
||||
} else {
|
||||
return LongArrayRef.EMPTY;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public Iter getIter(int docId) {
|
||||
if (set.get(docId)) {
|
||||
@ -474,7 +432,6 @@ public abstract class ShortArrayAtomicFieldData extends AtomicNumericFieldData {
|
||||
private final short[] values;
|
||||
private final FixedBitSet set;
|
||||
|
||||
private final DoubleArrayRef arrayScratch = new DoubleArrayRef(new double[1], 1);
|
||||
private final Iter.Single iter = new Iter.Single();
|
||||
|
||||
DoubleValues(short[] values, FixedBitSet set) {
|
||||
@ -506,16 +463,6 @@ public abstract class ShortArrayAtomicFieldData extends AtomicNumericFieldData {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public DoubleArrayRef getValues(int docId) {
|
||||
if (set.get(docId)) {
|
||||
arrayScratch.values[0] = (double) values[docId];
|
||||
return arrayScratch;
|
||||
} else {
|
||||
return DoubleArrayRef.EMPTY;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public Iter getIter(int docId) {
|
||||
if (set.get(docId)) {
|
||||
@ -597,8 +544,6 @@ public abstract class ShortArrayAtomicFieldData extends AtomicNumericFieldData {
|
||||
static class LongValues implements org.elasticsearch.index.fielddata.LongValues {
|
||||
|
||||
private final short[] values;
|
||||
|
||||
private final LongArrayRef arrayScratch = new LongArrayRef(new long[1], 1);
|
||||
private final Iter.Single iter = new Iter.Single();
|
||||
|
||||
LongValues(short[] values) {
|
||||
@ -625,12 +570,6 @@ public abstract class ShortArrayAtomicFieldData extends AtomicNumericFieldData {
|
||||
return (long) values[docId];
|
||||
}
|
||||
|
||||
@Override
|
||||
public LongArrayRef getValues(int docId) {
|
||||
arrayScratch.values[0] = (long) values[docId];
|
||||
return arrayScratch;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Iter getIter(int docId) {
|
||||
return iter.reset((long) values[docId]);
|
||||
@ -645,8 +584,6 @@ public abstract class ShortArrayAtomicFieldData extends AtomicNumericFieldData {
|
||||
static class DoubleValues implements org.elasticsearch.index.fielddata.DoubleValues {
|
||||
|
||||
private final short[] values;
|
||||
|
||||
private final DoubleArrayRef arrayScratch = new DoubleArrayRef(new double[1], 1);
|
||||
private final Iter.Single iter = new Iter.Single();
|
||||
|
||||
DoubleValues(short[] values) {
|
||||
@ -673,12 +610,6 @@ public abstract class ShortArrayAtomicFieldData extends AtomicNumericFieldData {
|
||||
return (double) values[docId];
|
||||
}
|
||||
|
||||
@Override
|
||||
public DoubleArrayRef getValues(int docId) {
|
||||
arrayScratch.values[0] = (double) values[docId];
|
||||
return arrayScratch;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Iter getIter(int docId) {
|
||||
return iter.reset((double) values[docId]);
|
||||
|
@ -19,17 +19,19 @@
|
||||
|
||||
package org.elasticsearch.search.facet.geodistance;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
import org.apache.lucene.index.AtomicReaderContext;
|
||||
import org.elasticsearch.common.geo.GeoDistance;
|
||||
import org.elasticsearch.common.geo.GeoPoint;
|
||||
import org.elasticsearch.common.unit.DistanceUnit;
|
||||
import org.elasticsearch.index.fielddata.GeoPointValues;
|
||||
import org.elasticsearch.index.fielddata.GeoPointValues.Iter;
|
||||
import org.elasticsearch.index.fielddata.IndexGeoPointFieldData;
|
||||
import org.elasticsearch.search.facet.FacetExecutor;
|
||||
import org.elasticsearch.search.facet.InternalFacet;
|
||||
import org.elasticsearch.search.internal.SearchContext;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@ -57,7 +59,7 @@ public class GeoDistanceFacetExecutor extends FacetExecutor {
|
||||
|
||||
@Override
|
||||
public Collector collector() {
|
||||
return new Collector();
|
||||
return new Collector(new Aggregator(fixedSourceDistance, entries));
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -68,10 +70,10 @@ public class GeoDistanceFacetExecutor extends FacetExecutor {
|
||||
class Collector extends FacetExecutor.Collector {
|
||||
|
||||
protected GeoPointValues values;
|
||||
protected GeoPointValues.LatLonValueInDocProc aggregator;
|
||||
protected final Aggregator aggregator;
|
||||
|
||||
Collector() {
|
||||
this.aggregator = new Aggregator(fixedSourceDistance, entries);
|
||||
Collector(Aggregator aggregator) {
|
||||
this.aggregator = aggregator;
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -84,7 +86,7 @@ public class GeoDistanceFacetExecutor extends FacetExecutor {
|
||||
for (GeoDistanceFacet.Entry entry : entries) {
|
||||
entry.foundInDoc = false;
|
||||
}
|
||||
values.forEachLatLonValueInDoc(doc, aggregator);
|
||||
this.aggregator.onDoc(doc, values);
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -92,41 +94,45 @@ public class GeoDistanceFacetExecutor extends FacetExecutor {
|
||||
}
|
||||
}
|
||||
|
||||
public static class Aggregator implements GeoPointValues.LatLonValueInDocProc {
|
||||
public static class Aggregator {
|
||||
|
||||
private final GeoDistance.FixedSourceDistance fixedSourceDistance;
|
||||
protected final GeoDistance.FixedSourceDistance fixedSourceDistance;
|
||||
|
||||
private final GeoDistanceFacet.Entry[] entries;
|
||||
protected final GeoDistanceFacet.Entry[] entries;
|
||||
|
||||
public Aggregator(GeoDistance.FixedSourceDistance fixedSourceDistance, GeoDistanceFacet.Entry[] entries) {
|
||||
this.fixedSourceDistance = fixedSourceDistance;
|
||||
this.entries = entries;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onMissing(int docId) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onValue(int docId, double lat, double lon) {
|
||||
double distance = fixedSourceDistance.calculate(lat, lon);
|
||||
for (GeoDistanceFacet.Entry entry : entries) {
|
||||
if (entry.foundInDoc) {
|
||||
continue;
|
||||
}
|
||||
if (distance >= entry.getFrom() && distance < entry.getTo()) {
|
||||
entry.foundInDoc = true;
|
||||
entry.count++;
|
||||
entry.totalCount++;
|
||||
entry.total += distance;
|
||||
if (distance < entry.min) {
|
||||
entry.min = distance;
|
||||
|
||||
public void onDoc(int docId, GeoPointValues values) {
|
||||
final Iter iter = values.getIter(docId);
|
||||
while(iter.hasNext()) {
|
||||
final GeoPoint next = iter.next();
|
||||
double distance = fixedSourceDistance.calculate(next.getLat(), next.getLon());
|
||||
for (GeoDistanceFacet.Entry entry : entries) {
|
||||
if (entry.foundInDoc) {
|
||||
continue;
|
||||
}
|
||||
if (distance > entry.max) {
|
||||
entry.max = distance;
|
||||
if (distance >= entry.getFrom() && distance < entry.getTo()) {
|
||||
entry.foundInDoc = true;
|
||||
collectGeoPoint(entry, docId, distance);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
protected void collectGeoPoint(GeoDistanceFacet.Entry entry, int docId, double distance) {
|
||||
entry.count++;
|
||||
entry.totalCount++;
|
||||
entry.total += distance;
|
||||
if (distance < entry.min) {
|
||||
entry.min = distance;
|
||||
}
|
||||
if (distance > entry.max) {
|
||||
entry.max = distance;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
@ -19,18 +19,17 @@
|
||||
|
||||
package org.elasticsearch.search.facet.geodistance;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.Map;
|
||||
|
||||
import org.apache.lucene.index.AtomicReaderContext;
|
||||
import org.apache.lucene.search.Scorer;
|
||||
import org.elasticsearch.common.geo.GeoDistance;
|
||||
import org.elasticsearch.common.unit.DistanceUnit;
|
||||
import org.elasticsearch.index.fielddata.GeoPointValues;
|
||||
import org.elasticsearch.index.fielddata.IndexGeoPointFieldData;
|
||||
import org.elasticsearch.script.SearchScript;
|
||||
import org.elasticsearch.search.internal.SearchContext;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@ -47,16 +46,17 @@ public class ScriptGeoDistanceFacetExecutor extends GeoDistanceFacetExecutor {
|
||||
|
||||
@Override
|
||||
public Collector collector() {
|
||||
return new Collector();
|
||||
return new Collector(new ScriptAggregator(fixedSourceDistance, entries, script));
|
||||
}
|
||||
|
||||
class Collector extends GeoDistanceFacetExecutor.Collector {
|
||||
|
||||
private Aggregator scriptAggregator;
|
||||
|
||||
Collector() {
|
||||
this.aggregator = new Aggregator(fixedSourceDistance, entries);
|
||||
this.scriptAggregator = (Aggregator) this.aggregator;
|
||||
private ScriptAggregator scriptAggregator;
|
||||
|
||||
Collector(ScriptAggregator aggregator) {
|
||||
super(aggregator);
|
||||
this.scriptAggregator = aggregator;
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -73,48 +73,32 @@ public class ScriptGeoDistanceFacetExecutor extends GeoDistanceFacetExecutor {
|
||||
@Override
|
||||
public void collect(int doc) throws IOException {
|
||||
script.setNextDocId(doc);
|
||||
this.scriptAggregator.scriptValue = script.runAsDouble();
|
||||
scriptAggregator.scriptValue = script.runAsDouble();
|
||||
super.collect(doc);
|
||||
}
|
||||
}
|
||||
|
||||
public static class Aggregator implements GeoPointValues.LatLonValueInDocProc {
|
||||
public final static class ScriptAggregator extends GeoDistanceFacetExecutor.Aggregator{
|
||||
|
||||
private final GeoDistance.FixedSourceDistance fixedSourceDistance;
|
||||
private double scriptValue;
|
||||
|
||||
private final GeoDistanceFacet.Entry[] entries;
|
||||
|
||||
double scriptValue;
|
||||
|
||||
public Aggregator(GeoDistance.FixedSourceDistance fixedSourceDistance, GeoDistanceFacet.Entry[] entries) {
|
||||
this.fixedSourceDistance = fixedSourceDistance;
|
||||
this.entries = entries;
|
||||
public ScriptAggregator(GeoDistance.FixedSourceDistance fixedSourceDistance, GeoDistanceFacet.Entry[] entries, SearchScript script) {
|
||||
super(fixedSourceDistance, entries);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void onMissing(int docId) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onValue(int docId, double lat, double lon) {
|
||||
double distance = fixedSourceDistance.calculate(lat, lon);
|
||||
for (GeoDistanceFacet.Entry entry : entries) {
|
||||
if (entry.foundInDoc) {
|
||||
continue;
|
||||
}
|
||||
if (distance >= entry.getFrom() && distance < entry.getTo()) {
|
||||
entry.foundInDoc = true;
|
||||
entry.count++;
|
||||
entry.totalCount++;
|
||||
entry.total += scriptValue;
|
||||
if (scriptValue < entry.min) {
|
||||
entry.min = scriptValue;
|
||||
}
|
||||
if (scriptValue > entry.max) {
|
||||
entry.max = scriptValue;
|
||||
}
|
||||
}
|
||||
protected void collectGeoPoint(GeoDistanceFacet.Entry entry, int docId, double distance) {
|
||||
final double scriptValue = this.scriptValue;
|
||||
entry.count++;
|
||||
entry.totalCount++;
|
||||
entry.total += scriptValue;
|
||||
if (scriptValue < entry.min) {
|
||||
entry.min = scriptValue;
|
||||
}
|
||||
if (scriptValue > entry.max) {
|
||||
entry.max = scriptValue;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
@ -19,17 +19,16 @@
|
||||
|
||||
package org.elasticsearch.search.facet.geodistance;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
import org.apache.lucene.index.AtomicReaderContext;
|
||||
import org.elasticsearch.common.geo.GeoDistance;
|
||||
import org.elasticsearch.common.unit.DistanceUnit;
|
||||
import org.elasticsearch.index.fielddata.DoubleValues;
|
||||
import org.elasticsearch.index.fielddata.GeoPointValues;
|
||||
import org.elasticsearch.index.fielddata.IndexGeoPointFieldData;
|
||||
import org.elasticsearch.index.fielddata.IndexNumericFieldData;
|
||||
import org.elasticsearch.search.internal.SearchContext;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@ -45,13 +44,13 @@ public class ValueGeoDistanceFacetExecutor extends GeoDistanceFacetExecutor {
|
||||
|
||||
@Override
|
||||
public Collector collector() {
|
||||
return new Collector();
|
||||
return new Collector(new Aggregator(fixedSourceDistance, entries));
|
||||
}
|
||||
|
||||
class Collector extends GeoDistanceFacetExecutor.Collector {
|
||||
|
||||
Collector() {
|
||||
this.aggregator = new Aggregator(fixedSourceDistance, entries);
|
||||
Collector(Aggregator aggregator) {
|
||||
super(aggregator);
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -61,59 +60,32 @@ public class ValueGeoDistanceFacetExecutor extends GeoDistanceFacetExecutor {
|
||||
}
|
||||
}
|
||||
|
||||
public static class Aggregator implements GeoPointValues.LatLonValueInDocProc {
|
||||
|
||||
private final GeoDistance.FixedSourceDistance fixedSourceDistance;
|
||||
private final GeoDistanceFacet.Entry[] entries;
|
||||
public static class Aggregator extends GeoDistanceFacetExecutor.Aggregator {
|
||||
|
||||
DoubleValues valueValues;
|
||||
|
||||
final ValueAggregator valueAggregator = new ValueAggregator();
|
||||
|
||||
public Aggregator(GeoDistance.FixedSourceDistance fixedSourceDistance, GeoDistanceFacet.Entry[] entries) {
|
||||
this.fixedSourceDistance = fixedSourceDistance;
|
||||
this.entries = entries;
|
||||
super(fixedSourceDistance, entries);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void onMissing(int docId) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onValue(int docId, double lat, double lon) {
|
||||
double distance = fixedSourceDistance.calculate(lat, lon);
|
||||
for (GeoDistanceFacet.Entry entry : entries) {
|
||||
if (entry.foundInDoc) {
|
||||
continue;
|
||||
protected void collectGeoPoint(GeoDistanceFacet.Entry entry, int docId, double distance) {
|
||||
entry.foundInDoc = true;
|
||||
entry.count++;
|
||||
DoubleValues.Iter iter = valueValues.getIter(docId);
|
||||
while(iter.hasNext()) {
|
||||
double value = iter.next();
|
||||
entry.totalCount++;
|
||||
entry.total += value;
|
||||
if (value < entry.min) {
|
||||
entry.min = value;
|
||||
}
|
||||
if (distance >= entry.getFrom() && distance < entry.getTo()) {
|
||||
entry.foundInDoc = true;
|
||||
entry.count++;
|
||||
valueAggregator.entry = entry;
|
||||
valueValues.forEachValueInDoc(docId, valueAggregator);
|
||||
if (value > entry.max) {
|
||||
entry.max = value;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static class ValueAggregator implements DoubleValues.ValueInDocProc {
|
||||
|
||||
GeoDistanceFacet.Entry entry;
|
||||
|
||||
@Override
|
||||
public void onMissing(int docId) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onValue(int docId, double value) {
|
||||
entry.totalCount++;
|
||||
entry.total += value;
|
||||
if (value < entry.min) {
|
||||
entry.min = value;
|
||||
}
|
||||
if (value > entry.max) {
|
||||
entry.max = value;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
@ -64,18 +64,6 @@ public abstract class NumericFieldDataTests extends StringFieldDataTests {
|
||||
assertThat(longValues.getValueMissing(1, -1), equalTo(1l));
|
||||
assertThat(longValues.getValueMissing(2, -1), equalTo(3l));
|
||||
|
||||
LongArrayRef longArrayRef = longValues.getValues(0);
|
||||
assertThat(longArrayRef.size(), equalTo(1));
|
||||
assertThat(longArrayRef.values[longArrayRef.start], equalTo(2l));
|
||||
|
||||
longArrayRef = longValues.getValues(1);
|
||||
assertThat(longArrayRef.size(), equalTo(1));
|
||||
assertThat(longArrayRef.values[longArrayRef.start], equalTo(1l));
|
||||
|
||||
longArrayRef = longValues.getValues(2);
|
||||
assertThat(longArrayRef.size(), equalTo(1));
|
||||
assertThat(longArrayRef.values[longArrayRef.start], equalTo(3l));
|
||||
|
||||
LongValues.Iter longValuesIter = longValues.getIter(0);
|
||||
assertThat(longValuesIter.hasNext(), equalTo(true));
|
||||
assertThat(longValuesIter.next(), equalTo(2l));
|
||||
@ -111,18 +99,6 @@ public abstract class NumericFieldDataTests extends StringFieldDataTests {
|
||||
assertThat(doubleValues.getValueMissing(1, -1), equalTo(1d));
|
||||
assertThat(doubleValues.getValueMissing(2, -1), equalTo(3d));
|
||||
|
||||
DoubleArrayRef doubleArrayRef = doubleValues.getValues(0);
|
||||
assertThat(doubleArrayRef.size(), equalTo(1));
|
||||
assertThat(doubleArrayRef.values[doubleArrayRef.start], equalTo(2d));
|
||||
|
||||
doubleArrayRef = doubleValues.getValues(1);
|
||||
assertThat(doubleArrayRef.size(), equalTo(1));
|
||||
assertThat(doubleArrayRef.values[doubleArrayRef.start], equalTo(1d));
|
||||
|
||||
doubleArrayRef = doubleValues.getValues(2);
|
||||
assertThat(doubleArrayRef.size(), equalTo(1));
|
||||
assertThat(doubleArrayRef.values[doubleArrayRef.start], equalTo(3d));
|
||||
|
||||
DoubleValues.Iter doubleValuesIter = doubleValues.getIter(0);
|
||||
assertThat(doubleValuesIter.hasNext(), equalTo(true));
|
||||
assertThat(doubleValuesIter.next(), equalTo(2d));
|
||||
@ -183,17 +159,6 @@ public abstract class NumericFieldDataTests extends StringFieldDataTests {
|
||||
assertThat(longValues.getValueMissing(1, -1), equalTo(-1l));
|
||||
assertThat(longValues.getValueMissing(2, -1), equalTo(3l));
|
||||
|
||||
LongArrayRef longArrayRef = longValues.getValues(0);
|
||||
assertThat(longArrayRef.size(), equalTo(1));
|
||||
assertThat(longArrayRef.values[longArrayRef.start], equalTo(2l));
|
||||
|
||||
longArrayRef = longValues.getValues(1);
|
||||
assertThat(longArrayRef.size(), equalTo(0));
|
||||
|
||||
longArrayRef = longValues.getValues(2);
|
||||
assertThat(longArrayRef.size(), equalTo(1));
|
||||
assertThat(longArrayRef.values[longArrayRef.start], equalTo(3l));
|
||||
|
||||
LongValues.Iter longValuesIter = longValues.getIter(0);
|
||||
assertThat(longValuesIter.hasNext(), equalTo(true));
|
||||
assertThat(longValuesIter.next(), equalTo(2l));
|
||||
@ -226,17 +191,6 @@ public abstract class NumericFieldDataTests extends StringFieldDataTests {
|
||||
assertThat(doubleValues.getValueMissing(1, -1), equalTo(-1d));
|
||||
assertThat(doubleValues.getValueMissing(2, -1), equalTo(3d));
|
||||
|
||||
DoubleArrayRef doubleArrayRef = doubleValues.getValues(0);
|
||||
assertThat(doubleArrayRef.size(), equalTo(1));
|
||||
assertThat(doubleArrayRef.values[doubleArrayRef.start], equalTo(2d));
|
||||
|
||||
doubleArrayRef = doubleValues.getValues(1);
|
||||
assertThat(doubleArrayRef.size(), equalTo(0));
|
||||
|
||||
doubleArrayRef = doubleValues.getValues(2);
|
||||
assertThat(doubleArrayRef.size(), equalTo(1));
|
||||
assertThat(doubleArrayRef.values[doubleArrayRef.start], equalTo(3d));
|
||||
|
||||
DoubleValues.Iter doubleValuesIter = doubleValues.getIter(0);
|
||||
assertThat(doubleValuesIter.hasNext(), equalTo(true));
|
||||
assertThat(doubleValuesIter.next(), equalTo(2d));
|
||||
@ -324,19 +278,6 @@ public abstract class NumericFieldDataTests extends StringFieldDataTests {
|
||||
assertThat(longValues.getValueMissing(1, -1), equalTo(1l));
|
||||
assertThat(longValues.getValueMissing(2, -1), equalTo(3l));
|
||||
|
||||
LongArrayRef longArrayRef = longValues.getValues(0);
|
||||
assertThat(longArrayRef.size(), equalTo(2));
|
||||
assertThat(longArrayRef.values[longArrayRef.start], equalTo(2l));
|
||||
assertThat(longArrayRef.values[longArrayRef.start + 1], equalTo(4l));
|
||||
|
||||
longArrayRef = longValues.getValues(1);
|
||||
assertThat(longArrayRef.size(), equalTo(1));
|
||||
assertThat(longArrayRef.values[longArrayRef.start], equalTo(1l));
|
||||
|
||||
longArrayRef = longValues.getValues(2);
|
||||
assertThat(longArrayRef.size(), equalTo(1));
|
||||
assertThat(longArrayRef.values[longArrayRef.start], equalTo(3l));
|
||||
|
||||
LongValues.Iter longValuesIter = longValues.getIter(0);
|
||||
assertThat(longValuesIter.hasNext(), equalTo(true));
|
||||
assertThat(longValuesIter.next(), equalTo(2l));
|
||||
@ -374,19 +315,6 @@ public abstract class NumericFieldDataTests extends StringFieldDataTests {
|
||||
assertThat(doubleValues.getValueMissing(1, -1), equalTo(1d));
|
||||
assertThat(doubleValues.getValueMissing(2, -1), equalTo(3d));
|
||||
|
||||
DoubleArrayRef doubleArrayRef = doubleValues.getValues(0);
|
||||
assertThat(doubleArrayRef.size(), equalTo(2));
|
||||
assertThat(doubleArrayRef.values[doubleArrayRef.start], equalTo(2d));
|
||||
assertThat(doubleArrayRef.values[doubleArrayRef.start + 1], equalTo(4d));
|
||||
|
||||
doubleArrayRef = doubleValues.getValues(1);
|
||||
assertThat(doubleArrayRef.size(), equalTo(1));
|
||||
assertThat(doubleArrayRef.values[doubleArrayRef.start], equalTo(1d));
|
||||
|
||||
doubleArrayRef = doubleValues.getValues(2);
|
||||
assertThat(doubleArrayRef.size(), equalTo(1));
|
||||
assertThat(doubleArrayRef.values[doubleArrayRef.start], equalTo(3d));
|
||||
|
||||
DoubleValues.Iter doubleValuesIter = doubleValues.getIter(0);
|
||||
assertThat(doubleValuesIter.hasNext(), equalTo(true));
|
||||
assertThat(doubleValuesIter.next(), equalTo(2d));
|
||||
@ -432,18 +360,6 @@ public abstract class NumericFieldDataTests extends StringFieldDataTests {
|
||||
assertThat(longValues.getValueMissing(1, -1), equalTo(-1l));
|
||||
assertThat(longValues.getValueMissing(2, -1), equalTo(3l));
|
||||
|
||||
LongArrayRef longArrayRef = longValues.getValues(0);
|
||||
assertThat(longArrayRef.size(), equalTo(2));
|
||||
assertThat(longArrayRef.values[longArrayRef.start], equalTo(2l));
|
||||
assertThat(longArrayRef.values[longArrayRef.start + 1], equalTo(4l));
|
||||
|
||||
longArrayRef = longValues.getValues(1);
|
||||
assertThat(longArrayRef.size(), equalTo(0));
|
||||
|
||||
longArrayRef = longValues.getValues(2);
|
||||
assertThat(longArrayRef.size(), equalTo(1));
|
||||
assertThat(longArrayRef.values[longArrayRef.start], equalTo(3l));
|
||||
|
||||
LongValues.Iter longValuesIter = longValues.getIter(0);
|
||||
assertThat(longValuesIter.hasNext(), equalTo(true));
|
||||
assertThat(longValuesIter.next(), equalTo(2l));
|
||||
@ -478,18 +394,6 @@ public abstract class NumericFieldDataTests extends StringFieldDataTests {
|
||||
assertThat(doubleValues.getValueMissing(1, -1), equalTo(-1d));
|
||||
assertThat(doubleValues.getValueMissing(2, -1), equalTo(3d));
|
||||
|
||||
DoubleArrayRef doubleArrayRef = doubleValues.getValues(0);
|
||||
assertThat(doubleArrayRef.size(), equalTo(2));
|
||||
assertThat(doubleArrayRef.values[doubleArrayRef.start], equalTo(2d));
|
||||
assertThat(doubleArrayRef.values[doubleArrayRef.start + 1], equalTo(4d));
|
||||
|
||||
doubleArrayRef = doubleValues.getValues(1);
|
||||
assertThat(doubleArrayRef.size(), equalTo(0));
|
||||
|
||||
doubleArrayRef = doubleValues.getValues(2);
|
||||
assertThat(doubleArrayRef.size(), equalTo(1));
|
||||
assertThat(doubleArrayRef.values[doubleArrayRef.start], equalTo(3d));
|
||||
|
||||
DoubleValues.Iter doubleValuesIter = doubleValues.getIter(0);
|
||||
assertThat(doubleValuesIter.hasNext(), equalTo(true));
|
||||
assertThat(doubleValuesIter.next(), equalTo(2d));
|
||||
@ -532,15 +436,6 @@ public abstract class NumericFieldDataTests extends StringFieldDataTests {
|
||||
assertThat(longValues.getValueMissing(1, -1), equalTo(-1l));
|
||||
assertThat(longValues.getValueMissing(2, -1), equalTo(-1l));
|
||||
|
||||
LongArrayRef longArrayRef = longValues.getValues(0);
|
||||
assertThat(longArrayRef.size(), equalTo(0));
|
||||
|
||||
longArrayRef = longValues.getValues(1);
|
||||
assertThat(longArrayRef.size(), equalTo(0));
|
||||
|
||||
longArrayRef = longValues.getValues(2);
|
||||
assertThat(longArrayRef.size(), equalTo(0));
|
||||
|
||||
LongValues.Iter longValuesIter = longValues.getIter(0);
|
||||
assertThat(longValuesIter.hasNext(), equalTo(false));
|
||||
|
||||
@ -568,15 +463,6 @@ public abstract class NumericFieldDataTests extends StringFieldDataTests {
|
||||
assertThat(doubleValues.getValueMissing(1, -1), equalTo(-1d));
|
||||
assertThat(doubleValues.getValueMissing(2, -1), equalTo(-1d));
|
||||
|
||||
DoubleArrayRef doubleArrayRef = doubleValues.getValues(0);
|
||||
assertThat(doubleArrayRef.size(), equalTo(0));
|
||||
|
||||
doubleArrayRef = doubleValues.getValues(1);
|
||||
assertThat(doubleArrayRef.size(), equalTo(0));
|
||||
|
||||
doubleArrayRef = doubleValues.getValues(2);
|
||||
assertThat(doubleArrayRef.size(), equalTo(0));
|
||||
|
||||
DoubleValues.Iter doubleValuesIter = doubleValues.getIter(0);
|
||||
assertThat(doubleValuesIter.hasNext(), equalTo(false));
|
||||
|
||||
|
@ -142,19 +142,6 @@ public abstract class StringFieldDataTests extends AbstractFieldDataTests {
|
||||
assertThat(stringValues.getValue(1), equalTo(one()));
|
||||
assertThat(stringValues.getValue(2), equalTo(three()));
|
||||
|
||||
StringArrayRef stringArrayRef;
|
||||
stringArrayRef = stringValues.getValues(0);
|
||||
assertThat(stringArrayRef.size(), equalTo(1));
|
||||
assertThat(stringArrayRef.values[stringArrayRef.start], equalTo(two()));
|
||||
|
||||
stringArrayRef = stringValues.getValues(1);
|
||||
assertThat(stringArrayRef.size(), equalTo(1));
|
||||
assertThat(stringArrayRef.values[stringArrayRef.start], equalTo(one()));
|
||||
|
||||
stringArrayRef = stringValues.getValues(2);
|
||||
assertThat(stringArrayRef.size(), equalTo(1));
|
||||
assertThat(stringArrayRef.values[stringArrayRef.start], equalTo(three()));
|
||||
|
||||
StringValues.Iter stringValuesIter = stringValues.getIter(0);
|
||||
assertThat(stringValuesIter.hasNext(), equalTo(true));
|
||||
assertThat(stringValuesIter.next(), equalTo(two()));
|
||||
@ -283,18 +270,6 @@ public abstract class StringFieldDataTests extends AbstractFieldDataTests {
|
||||
assertThat(stringValues.getValue(1), nullValue());
|
||||
assertThat(stringValues.getValue(2), equalTo(three()));
|
||||
|
||||
StringArrayRef stringArrayRef;
|
||||
stringArrayRef = stringValues.getValues(0);
|
||||
assertThat(stringArrayRef.size(), equalTo(1));
|
||||
assertThat(stringArrayRef.values[stringArrayRef.start], equalTo(two()));
|
||||
|
||||
stringArrayRef = stringValues.getValues(1);
|
||||
assertThat(stringArrayRef.size(), equalTo(0));
|
||||
|
||||
stringArrayRef = stringValues.getValues(2);
|
||||
assertThat(stringArrayRef.size(), equalTo(1));
|
||||
assertThat(stringArrayRef.values[stringArrayRef.start], equalTo(three()));
|
||||
|
||||
StringValues.Iter stringValuesIter = stringValues.getIter(0);
|
||||
assertThat(stringValuesIter.hasNext(), equalTo(true));
|
||||
assertThat(stringValuesIter.next(), equalTo(two()));
|
||||
@ -397,19 +372,6 @@ public abstract class StringFieldDataTests extends AbstractFieldDataTests {
|
||||
assertThat(stringValues.getValue(1), equalTo(one()));
|
||||
assertThat(stringValues.getValue(2), equalTo(three()));
|
||||
|
||||
StringArrayRef stringArrayRef;
|
||||
stringArrayRef = stringValues.getValues(0);
|
||||
assertThat(stringArrayRef.size(), equalTo(2));
|
||||
assertThat(stringArrayRef.values[stringArrayRef.start], equalTo(two()));
|
||||
assertThat(stringArrayRef.values[stringArrayRef.start + 1], equalTo(four()));
|
||||
|
||||
stringArrayRef = stringValues.getValues(1);
|
||||
assertThat(stringArrayRef.size(), equalTo(1));
|
||||
assertThat(stringArrayRef.values[stringArrayRef.start], equalTo(one()));
|
||||
|
||||
stringArrayRef = stringValues.getValues(2);
|
||||
assertThat(stringArrayRef.size(), equalTo(1));
|
||||
assertThat(stringArrayRef.values[stringArrayRef.start], equalTo(three()));
|
||||
|
||||
StringValues.Iter stringValuesIter = stringValues.getIter(0);
|
||||
assertThat(stringValuesIter.hasNext(), equalTo(true));
|
||||
@ -535,19 +497,6 @@ public abstract class StringFieldDataTests extends AbstractFieldDataTests {
|
||||
assertThat(stringValues.getValue(1), nullValue());
|
||||
assertThat(stringValues.getValue(2), equalTo(three()));
|
||||
|
||||
StringArrayRef stringArrayRef;
|
||||
stringArrayRef = stringValues.getValues(0);
|
||||
assertThat(stringArrayRef.size(), equalTo(2));
|
||||
assertThat(stringArrayRef.values[stringArrayRef.start], equalTo(two()));
|
||||
assertThat(stringArrayRef.values[stringArrayRef.start + 1], equalTo(four()));
|
||||
|
||||
stringArrayRef = stringValues.getValues(1);
|
||||
assertThat(stringArrayRef.size(), equalTo(0));
|
||||
|
||||
stringArrayRef = stringValues.getValues(2);
|
||||
assertThat(stringArrayRef.size(), equalTo(1));
|
||||
assertThat(stringArrayRef.values[stringArrayRef.start], equalTo(three()));
|
||||
|
||||
StringValues.Iter stringValuesIter = stringValues.getIter(0);
|
||||
assertThat(stringValuesIter.hasNext(), equalTo(true));
|
||||
assertThat(stringValuesIter.next(), equalTo(two()));
|
||||
@ -633,16 +582,6 @@ public abstract class StringFieldDataTests extends AbstractFieldDataTests {
|
||||
assertThat(stringValues.getValue(1), nullValue());
|
||||
assertThat(stringValues.getValue(2), nullValue());
|
||||
|
||||
StringArrayRef stringArrayRef;
|
||||
stringArrayRef = stringValues.getValues(0);
|
||||
assertThat(stringArrayRef.size(), equalTo(0));
|
||||
|
||||
stringArrayRef = stringValues.getValues(1);
|
||||
assertThat(stringArrayRef.size(), equalTo(0));
|
||||
|
||||
stringArrayRef = stringValues.getValues(2);
|
||||
assertThat(stringArrayRef.size(), equalTo(0));
|
||||
|
||||
StringValues.Iter stringValuesIter = stringValues.getIter(0);
|
||||
assertThat(stringValuesIter.hasNext(), equalTo(false));
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user