mirror of
https://github.com/honeymoose/OpenSearch.git
synced 2025-03-27 02:18:42 +00:00
Rename AtomicFieldData to LeafFieldData (#53554)
This conforms with lucene's LeafReader naming convention, and matches other per-segment structures in elasticsearch.
This commit is contained in:
parent
79600eb38b
commit
71b703edd1
@ -27,7 +27,7 @@ import org.apache.lucene.index.LeafReaderContext;
|
||||
import org.apache.lucene.queries.function.FunctionValues;
|
||||
import org.apache.lucene.queries.function.ValueSource;
|
||||
import org.apache.lucene.queries.function.docvalues.DoubleDocValues;
|
||||
import org.elasticsearch.index.fielddata.AtomicNumericFieldData;
|
||||
import org.elasticsearch.index.fielddata.LeafNumericFieldData;
|
||||
import org.elasticsearch.index.fielddata.IndexFieldData;
|
||||
import org.elasticsearch.index.fielddata.SortedNumericDoubleValues;
|
||||
|
||||
@ -46,7 +46,7 @@ final class CountMethodValueSource extends ValueSource {
|
||||
@Override
|
||||
@SuppressWarnings("rawtypes") // ValueSource uses a rawtype
|
||||
public FunctionValues getValues(Map context, LeafReaderContext leaf) throws IOException {
|
||||
AtomicNumericFieldData leafData = (AtomicNumericFieldData) fieldData.load(leaf);
|
||||
LeafNumericFieldData leafData = (LeafNumericFieldData) fieldData.load(leaf);
|
||||
final SortedNumericDoubleValues values = leafData.getDoubleValues();
|
||||
|
||||
return new DoubleDocValues(this) {
|
||||
|
@ -29,7 +29,7 @@ import java.util.TimeZone;
|
||||
import org.apache.lucene.index.LeafReaderContext;
|
||||
import org.apache.lucene.queries.function.FunctionValues;
|
||||
import org.apache.lucene.queries.function.docvalues.DoubleDocValues;
|
||||
import org.elasticsearch.index.fielddata.AtomicNumericFieldData;
|
||||
import org.elasticsearch.index.fielddata.LeafNumericFieldData;
|
||||
import org.elasticsearch.index.fielddata.IndexFieldData;
|
||||
import org.elasticsearch.index.fielddata.NumericDoubleValues;
|
||||
import org.elasticsearch.search.MultiValueMode;
|
||||
@ -52,7 +52,7 @@ class DateMethodValueSource extends FieldDataValueSource {
|
||||
@Override
|
||||
@SuppressWarnings("rawtypes") // ValueSource uses a rawtype
|
||||
public FunctionValues getValues(Map context, LeafReaderContext leaf) throws IOException {
|
||||
AtomicNumericFieldData leafData = (AtomicNumericFieldData) fieldData.load(leaf);
|
||||
LeafNumericFieldData leafData = (LeafNumericFieldData) fieldData.load(leaf);
|
||||
final Calendar calendar = Calendar.getInstance(TimeZone.getTimeZone("UTC"), Locale.ROOT);
|
||||
NumericDoubleValues docValues = multiValueMode.select(leafData.getDoubleValues());
|
||||
return new DoubleDocValues(this) {
|
||||
|
@ -27,7 +27,7 @@ import java.util.function.ToIntFunction;
|
||||
import org.apache.lucene.index.LeafReaderContext;
|
||||
import org.apache.lucene.queries.function.FunctionValues;
|
||||
import org.apache.lucene.queries.function.docvalues.DoubleDocValues;
|
||||
import org.elasticsearch.index.fielddata.AtomicNumericFieldData;
|
||||
import org.elasticsearch.index.fielddata.LeafNumericFieldData;
|
||||
import org.elasticsearch.index.fielddata.IndexFieldData;
|
||||
import org.elasticsearch.index.fielddata.NumericDoubleValues;
|
||||
import org.elasticsearch.search.MultiValueMode;
|
||||
@ -41,7 +41,7 @@ class DateObjectValueSource extends FieldDataValueSource {
|
||||
final String methodName;
|
||||
final ToIntFunction<ReadableDateTime> function;
|
||||
|
||||
DateObjectValueSource(IndexFieldData<?> indexFieldData, MultiValueMode multiValueMode,
|
||||
DateObjectValueSource(IndexFieldData<?> indexFieldData, MultiValueMode multiValueMode,
|
||||
String methodName, ToIntFunction<ReadableDateTime> function) {
|
||||
super(indexFieldData, multiValueMode);
|
||||
|
||||
@ -54,7 +54,7 @@ class DateObjectValueSource extends FieldDataValueSource {
|
||||
@Override
|
||||
@SuppressWarnings("rawtypes") // ValueSource uses a rawtype
|
||||
public FunctionValues getValues(Map context, LeafReaderContext leaf) throws IOException {
|
||||
AtomicNumericFieldData leafData = (AtomicNumericFieldData) fieldData.load(leaf);
|
||||
LeafNumericFieldData leafData = (LeafNumericFieldData) fieldData.load(leaf);
|
||||
MutableDateTime joda = new MutableDateTime(0, DateTimeZone.UTC);
|
||||
NumericDoubleValues docValues = multiValueMode.select(leafData.getDoubleValues());
|
||||
return new DoubleDocValues(this) {
|
||||
|
@ -23,7 +23,7 @@ import org.apache.lucene.index.LeafReaderContext;
|
||||
import org.apache.lucene.queries.function.FunctionValues;
|
||||
import org.apache.lucene.queries.function.ValueSource;
|
||||
import org.apache.lucene.queries.function.docvalues.DoubleDocValues;
|
||||
import org.elasticsearch.index.fielddata.AtomicNumericFieldData;
|
||||
import org.elasticsearch.index.fielddata.LeafNumericFieldData;
|
||||
import org.elasticsearch.index.fielddata.IndexFieldData;
|
||||
import org.elasticsearch.index.fielddata.SortedNumericDoubleValues;
|
||||
|
||||
@ -46,7 +46,7 @@ final class EmptyMemberValueSource extends ValueSource {
|
||||
@Override
|
||||
@SuppressWarnings("rawtypes") // ValueSource uses a rawtype
|
||||
public FunctionValues getValues(Map context, LeafReaderContext leaf) throws IOException {
|
||||
AtomicNumericFieldData leafData = (AtomicNumericFieldData) fieldData.load(leaf);
|
||||
LeafNumericFieldData leafData = (LeafNumericFieldData) fieldData.load(leaf);
|
||||
final SortedNumericDoubleValues values = leafData.getDoubleValues();
|
||||
return new DoubleDocValues(this) {
|
||||
@Override
|
||||
|
@ -27,7 +27,7 @@ import org.apache.lucene.index.LeafReaderContext;
|
||||
import org.apache.lucene.queries.function.FunctionValues;
|
||||
import org.apache.lucene.queries.function.ValueSource;
|
||||
import org.apache.lucene.queries.function.docvalues.DoubleDocValues;
|
||||
import org.elasticsearch.index.fielddata.AtomicNumericFieldData;
|
||||
import org.elasticsearch.index.fielddata.LeafNumericFieldData;
|
||||
import org.elasticsearch.index.fielddata.IndexFieldData;
|
||||
import org.elasticsearch.index.fielddata.NumericDoubleValues;
|
||||
import org.elasticsearch.search.MultiValueMode;
|
||||
@ -67,7 +67,7 @@ class FieldDataValueSource extends ValueSource {
|
||||
@Override
|
||||
@SuppressWarnings("rawtypes") // ValueSource uses a rawtype
|
||||
public FunctionValues getValues(Map context, LeafReaderContext leaf) throws IOException {
|
||||
AtomicNumericFieldData leafData = (AtomicNumericFieldData) fieldData.load(leaf);
|
||||
LeafNumericFieldData leafData = (LeafNumericFieldData) fieldData.load(leaf);
|
||||
NumericDoubleValues docValues = multiValueMode.select(leafData.getDoubleValues());
|
||||
return new DoubleDocValues(this) {
|
||||
@Override
|
||||
|
@ -27,7 +27,7 @@ import org.apache.lucene.index.LeafReaderContext;
|
||||
import org.apache.lucene.queries.function.FunctionValues;
|
||||
import org.apache.lucene.queries.function.ValueSource;
|
||||
import org.apache.lucene.queries.function.docvalues.DoubleDocValues;
|
||||
import org.elasticsearch.index.fielddata.AtomicGeoPointFieldData;
|
||||
import org.elasticsearch.index.fielddata.LeafGeoPointFieldData;
|
||||
import org.elasticsearch.index.fielddata.IndexFieldData;
|
||||
import org.elasticsearch.index.fielddata.MultiGeoPointValues;
|
||||
|
||||
@ -44,7 +44,7 @@ final class GeoEmptyValueSource extends ValueSource {
|
||||
@Override
|
||||
@SuppressWarnings("rawtypes") // ValueSource uses a rawtype
|
||||
public FunctionValues getValues(Map context, LeafReaderContext leaf) throws IOException {
|
||||
AtomicGeoPointFieldData leafData = (AtomicGeoPointFieldData) fieldData.load(leaf);
|
||||
LeafGeoPointFieldData leafData = (LeafGeoPointFieldData) fieldData.load(leaf);
|
||||
final MultiGeoPointValues values = leafData.getGeoPointValues();
|
||||
return new DoubleDocValues(this) {
|
||||
@Override
|
||||
|
@ -27,7 +27,7 @@ import org.apache.lucene.index.LeafReaderContext;
|
||||
import org.apache.lucene.queries.function.FunctionValues;
|
||||
import org.apache.lucene.queries.function.ValueSource;
|
||||
import org.apache.lucene.queries.function.docvalues.DoubleDocValues;
|
||||
import org.elasticsearch.index.fielddata.AtomicGeoPointFieldData;
|
||||
import org.elasticsearch.index.fielddata.LeafGeoPointFieldData;
|
||||
import org.elasticsearch.index.fielddata.IndexFieldData;
|
||||
import org.elasticsearch.index.fielddata.MultiGeoPointValues;
|
||||
|
||||
@ -44,7 +44,7 @@ final class GeoLatitudeValueSource extends ValueSource {
|
||||
@Override
|
||||
@SuppressWarnings("rawtypes") // ValueSource uses a rawtype
|
||||
public FunctionValues getValues(Map context, LeafReaderContext leaf) throws IOException {
|
||||
AtomicGeoPointFieldData leafData = (AtomicGeoPointFieldData) fieldData.load(leaf);
|
||||
LeafGeoPointFieldData leafData = (LeafGeoPointFieldData) fieldData.load(leaf);
|
||||
final MultiGeoPointValues values = leafData.getGeoPointValues();
|
||||
return new DoubleDocValues(this) {
|
||||
@Override
|
||||
|
@ -27,7 +27,7 @@ import org.apache.lucene.index.LeafReaderContext;
|
||||
import org.apache.lucene.queries.function.FunctionValues;
|
||||
import org.apache.lucene.queries.function.ValueSource;
|
||||
import org.apache.lucene.queries.function.docvalues.DoubleDocValues;
|
||||
import org.elasticsearch.index.fielddata.AtomicGeoPointFieldData;
|
||||
import org.elasticsearch.index.fielddata.LeafGeoPointFieldData;
|
||||
import org.elasticsearch.index.fielddata.IndexFieldData;
|
||||
import org.elasticsearch.index.fielddata.MultiGeoPointValues;
|
||||
|
||||
@ -44,7 +44,7 @@ final class GeoLongitudeValueSource extends ValueSource {
|
||||
@Override
|
||||
@SuppressWarnings("rawtypes") // ValueSource uses a rawtype
|
||||
public FunctionValues getValues(Map context, LeafReaderContext leaf) throws IOException {
|
||||
AtomicGeoPointFieldData leafData = (AtomicGeoPointFieldData) fieldData.load(leaf);
|
||||
LeafGeoPointFieldData leafData = (LeafGeoPointFieldData) fieldData.load(leaf);
|
||||
final MultiGeoPointValues values = leafData.getGeoPointValues();
|
||||
return new DoubleDocValues(this) {
|
||||
@Override
|
||||
|
@ -19,7 +19,7 @@
|
||||
|
||||
package org.elasticsearch.script.expression;
|
||||
|
||||
import org.elasticsearch.index.fielddata.AtomicNumericFieldData;
|
||||
import org.elasticsearch.index.fielddata.LeafNumericFieldData;
|
||||
import org.elasticsearch.index.fielddata.IndexNumericFieldData;
|
||||
import org.elasticsearch.index.fielddata.SortedNumericDoubleValues;
|
||||
import org.elasticsearch.index.mapper.MapperService;
|
||||
@ -56,7 +56,7 @@ public class ExpressionFieldScriptTests extends ESTestCase {
|
||||
when(doubleValues.advanceExact(anyInt())).thenReturn(true);
|
||||
when(doubleValues.nextValue()).thenReturn(2.718);
|
||||
|
||||
AtomicNumericFieldData atomicFieldData = mock(AtomicNumericFieldData.class);
|
||||
LeafNumericFieldData atomicFieldData = mock(LeafNumericFieldData.class);
|
||||
when(atomicFieldData.getDoubleValues()).thenReturn(doubleValues);
|
||||
|
||||
IndexNumericFieldData fieldData = mock(IndexNumericFieldData.class);
|
||||
|
@ -22,7 +22,7 @@ package org.elasticsearch.script.expression;
|
||||
import java.io.IOException;
|
||||
import java.text.ParseException;
|
||||
import java.util.Collections;
|
||||
import org.elasticsearch.index.fielddata.AtomicNumericFieldData;
|
||||
import org.elasticsearch.index.fielddata.LeafNumericFieldData;
|
||||
import org.elasticsearch.index.fielddata.IndexNumericFieldData;
|
||||
import org.elasticsearch.index.fielddata.SortedNumericDoubleValues;
|
||||
import org.elasticsearch.index.mapper.MapperService;
|
||||
@ -55,7 +55,7 @@ public class ExpressionNumberSortScriptTests extends ESTestCase {
|
||||
when(doubleValues.advanceExact(anyInt())).thenReturn(true);
|
||||
when(doubleValues.nextValue()).thenReturn(2.718);
|
||||
|
||||
AtomicNumericFieldData atomicFieldData = mock(AtomicNumericFieldData.class);
|
||||
LeafNumericFieldData atomicFieldData = mock(LeafNumericFieldData.class);
|
||||
when(atomicFieldData.getDoubleValues()).thenReturn(doubleValues);
|
||||
|
||||
IndexNumericFieldData fieldData = mock(IndexNumericFieldData.class);
|
||||
|
@ -22,7 +22,7 @@ package org.elasticsearch.script.expression;
|
||||
import java.io.IOException;
|
||||
import java.text.ParseException;
|
||||
import java.util.Collections;
|
||||
import org.elasticsearch.index.fielddata.AtomicNumericFieldData;
|
||||
import org.elasticsearch.index.fielddata.LeafNumericFieldData;
|
||||
import org.elasticsearch.index.fielddata.IndexNumericFieldData;
|
||||
import org.elasticsearch.index.fielddata.SortedNumericDoubleValues;
|
||||
import org.elasticsearch.index.mapper.MapperService;
|
||||
@ -55,7 +55,7 @@ public class ExpressionTermsSetQueryTests extends ESTestCase {
|
||||
when(doubleValues.advanceExact(anyInt())).thenReturn(true);
|
||||
when(doubleValues.nextValue()).thenReturn(2.718);
|
||||
|
||||
AtomicNumericFieldData atomicFieldData = mock(AtomicNumericFieldData.class);
|
||||
LeafNumericFieldData atomicFieldData = mock(LeafNumericFieldData.class);
|
||||
when(atomicFieldData.getDoubleValues()).thenReturn(doubleValues);
|
||||
|
||||
IndexNumericFieldData fieldData = mock(IndexNumericFieldData.class);
|
||||
|
@ -43,7 +43,7 @@ import org.elasticsearch.common.xcontent.XContentParser.Token;
|
||||
import org.elasticsearch.common.xcontent.support.XContentMapValues;
|
||||
import org.elasticsearch.index.Index;
|
||||
import org.elasticsearch.index.IndexSettings;
|
||||
import org.elasticsearch.index.fielddata.AtomicNumericFieldData;
|
||||
import org.elasticsearch.index.fielddata.LeafNumericFieldData;
|
||||
import org.elasticsearch.index.fielddata.FieldData;
|
||||
import org.elasticsearch.index.fielddata.IndexFieldData;
|
||||
import org.elasticsearch.index.fielddata.IndexFieldData.XFieldComparatorSource.Nested;
|
||||
@ -510,12 +510,12 @@ public class ScaledFloatFieldMapper extends FieldMapper {
|
||||
}
|
||||
|
||||
@Override
|
||||
public AtomicNumericFieldData load(LeafReaderContext context) {
|
||||
public LeafNumericFieldData load(LeafReaderContext context) {
|
||||
return new ScaledFloatLeafFieldData(scaledFieldData.load(context), scalingFactor);
|
||||
}
|
||||
|
||||
@Override
|
||||
public AtomicNumericFieldData loadDirect(LeafReaderContext context) throws Exception {
|
||||
public LeafNumericFieldData loadDirect(LeafReaderContext context) throws Exception {
|
||||
return new ScaledFloatLeafFieldData(scaledFieldData.loadDirect(context), scalingFactor);
|
||||
}
|
||||
|
||||
@ -552,12 +552,12 @@ public class ScaledFloatFieldMapper extends FieldMapper {
|
||||
|
||||
}
|
||||
|
||||
private static class ScaledFloatLeafFieldData implements AtomicNumericFieldData {
|
||||
private static class ScaledFloatLeafFieldData implements LeafNumericFieldData {
|
||||
|
||||
private final AtomicNumericFieldData scaledFieldData;
|
||||
private final LeafNumericFieldData scaledFieldData;
|
||||
private final double scalingFactorInverse;
|
||||
|
||||
ScaledFloatLeafFieldData(AtomicNumericFieldData scaledFieldData, double scalingFactor) {
|
||||
ScaledFloatLeafFieldData(LeafNumericFieldData scaledFieldData, double scalingFactor) {
|
||||
this.scaledFieldData = scaledFieldData;
|
||||
this.scalingFactorInverse = 1d / scalingFactor;
|
||||
}
|
||||
|
@ -34,7 +34,7 @@ import org.elasticsearch.Version;
|
||||
import org.elasticsearch.cluster.metadata.IndexMetaData;
|
||||
import org.elasticsearch.common.settings.Settings;
|
||||
import org.elasticsearch.index.IndexSettings;
|
||||
import org.elasticsearch.index.fielddata.AtomicNumericFieldData;
|
||||
import org.elasticsearch.index.fielddata.LeafNumericFieldData;
|
||||
import org.elasticsearch.index.fielddata.IndexNumericFieldData;
|
||||
import org.elasticsearch.index.fielddata.SortedNumericDoubleValues;
|
||||
import org.junit.Before;
|
||||
@ -193,7 +193,7 @@ public class ScaledFloatFieldTypeTests extends FieldTypeTestCase {
|
||||
IndexNumericFieldData fielddata = (IndexNumericFieldData) ft.fielddataBuilder("index")
|
||||
.build(indexSettings, ft, null, null, null);
|
||||
assertEquals(fielddata.getNumericType(), IndexNumericFieldData.NumericType.DOUBLE);
|
||||
AtomicNumericFieldData leafFieldData = fielddata.load(reader.leaves().get(0));
|
||||
LeafNumericFieldData leafFieldData = fielddata.load(reader.leaves().get(0));
|
||||
SortedNumericDoubleValues values = leafFieldData.getDoubleValues();
|
||||
assertTrue(values.advanceExact(0));
|
||||
assertEquals(1, values.docValueCount());
|
||||
|
@ -31,8 +31,8 @@ import org.elasticsearch.common.io.stream.StreamOutput;
|
||||
import org.elasticsearch.common.xcontent.ConstructingObjectParser;
|
||||
import org.elasticsearch.common.xcontent.XContentBuilder;
|
||||
import org.elasticsearch.common.xcontent.XContentParser;
|
||||
import org.elasticsearch.index.fielddata.AtomicFieldData;
|
||||
import org.elasticsearch.index.fielddata.AtomicNumericFieldData;
|
||||
import org.elasticsearch.index.fielddata.LeafFieldData;
|
||||
import org.elasticsearch.index.fielddata.LeafNumericFieldData;
|
||||
import org.elasticsearch.index.fielddata.IndexFieldData;
|
||||
import org.elasticsearch.index.fielddata.SortedNumericDoubleValues;
|
||||
import org.elasticsearch.index.query.QueryRewriteContext;
|
||||
@ -170,7 +170,7 @@ public class ExampleRescoreBuilder extends RescorerBuilder<ExampleRescoreBuilder
|
||||
* them in (reader, field, docId) order because that is the
|
||||
* order they are on disk.
|
||||
*/
|
||||
ScoreDoc[] sortedByDocId = new ScoreDoc[topDocs.scoreDocs.length];
|
||||
ScoreDoc[] sortedByDocId = new ScoreDoc[topDocs.scoreDocs.length];
|
||||
System.arraycopy(topDocs.scoreDocs, 0, sortedByDocId, 0, topDocs.scoreDocs.length);
|
||||
Arrays.sort(sortedByDocId, (a, b) -> a.doc - b.doc); // Safe because doc ids >= 0
|
||||
Iterator<LeafReaderContext> leaves = searcher.getIndexReader().leaves().iterator();
|
||||
@ -183,11 +183,11 @@ public class ExampleRescoreBuilder extends RescorerBuilder<ExampleRescoreBuilder
|
||||
leaf = leaves.next();
|
||||
endDoc = leaf.docBase + leaf.reader().maxDoc();
|
||||
} while (topDocs.scoreDocs[i].doc >= endDoc);
|
||||
AtomicFieldData fd = context.factorField.load(leaf);
|
||||
if (false == (fd instanceof AtomicNumericFieldData)) {
|
||||
LeafFieldData fd = context.factorField.load(leaf);
|
||||
if (false == (fd instanceof LeafNumericFieldData)) {
|
||||
throw new IllegalArgumentException("[" + context.factorField.getFieldName() + "] is not a number");
|
||||
}
|
||||
data = ((AtomicNumericFieldData) fd).getDoubleValues();
|
||||
data = ((LeafNumericFieldData) fd).getDoubleValues();
|
||||
}
|
||||
if (false == data.advanceExact(topDocs.scoreDocs[i].doc - leaf.docBase)) {
|
||||
throw new IllegalArgumentException("document [" + topDocs.scoreDocs[i].doc
|
||||
|
@ -23,7 +23,7 @@ import com.carrotsearch.hppc.BitMixer;
|
||||
import org.apache.lucene.index.LeafReaderContext;
|
||||
import org.apache.lucene.search.Explanation;
|
||||
import org.apache.lucene.util.StringHelper;
|
||||
import org.elasticsearch.index.fielddata.AtomicFieldData;
|
||||
import org.elasticsearch.index.fielddata.LeafFieldData;
|
||||
import org.elasticsearch.index.fielddata.IndexFieldData;
|
||||
import org.elasticsearch.index.fielddata.SortedBinaryDocValues;
|
||||
|
||||
@ -57,7 +57,7 @@ public class RandomScoreFunction extends ScoreFunction {
|
||||
public LeafScoreFunction getLeafScoreFunction(LeafReaderContext ctx) {
|
||||
final SortedBinaryDocValues values;
|
||||
if (fieldData != null) {
|
||||
AtomicFieldData leafData = fieldData.load(ctx);
|
||||
LeafFieldData leafData = fieldData.load(ctx);
|
||||
values = leafData.getBytesValues();
|
||||
if (values == null) throw new NullPointerException("failed to get fielddata");
|
||||
} else {
|
||||
|
@ -54,7 +54,7 @@ import java.io.IOException;
|
||||
* Thread-safe utility class that allows to get per-segment values via the
|
||||
* {@link #load(LeafReaderContext)} method.
|
||||
*/
|
||||
public interface IndexFieldData<FD extends AtomicFieldData> extends IndexComponent {
|
||||
public interface IndexFieldData<FD extends LeafFieldData> extends IndexComponent {
|
||||
|
||||
/**
|
||||
* The field name.
|
||||
@ -251,7 +251,7 @@ public interface IndexFieldData<FD extends AtomicFieldData> extends IndexCompone
|
||||
CircuitBreakerService breakerService, MapperService mapperService);
|
||||
}
|
||||
|
||||
interface Global<FD extends AtomicFieldData> extends IndexFieldData<FD> {
|
||||
interface Global<FD extends LeafFieldData> extends IndexFieldData<FD> {
|
||||
|
||||
IndexFieldData<FD> loadGlobal(DirectoryReader indexReader);
|
||||
|
||||
|
@ -29,9 +29,9 @@ import org.elasticsearch.index.shard.ShardId;
|
||||
*/
|
||||
public interface IndexFieldDataCache {
|
||||
|
||||
<FD extends AtomicFieldData, IFD extends IndexFieldData<FD>> FD load(LeafReaderContext context, IFD indexFieldData) throws Exception;
|
||||
<FD extends LeafFieldData, IFD extends IndexFieldData<FD>> FD load(LeafReaderContext context, IFD indexFieldData) throws Exception;
|
||||
|
||||
<FD extends AtomicFieldData, IFD extends IndexFieldData.Global<FD>> IFD load(DirectoryReader indexReader, IFD indexFieldData)
|
||||
<FD extends LeafFieldData, IFD extends IndexFieldData.Global<FD>> IFD load(DirectoryReader indexReader, IFD indexFieldData)
|
||||
throws Exception;
|
||||
|
||||
/**
|
||||
@ -60,15 +60,15 @@ public interface IndexFieldDataCache {
|
||||
class None implements IndexFieldDataCache {
|
||||
|
||||
@Override
|
||||
public <FD extends AtomicFieldData, IFD extends IndexFieldData<FD>> FD load(LeafReaderContext context, IFD indexFieldData)
|
||||
public <FD extends LeafFieldData, IFD extends IndexFieldData<FD>> FD load(LeafReaderContext context, IFD indexFieldData)
|
||||
throws Exception {
|
||||
return indexFieldData.loadDirect(context);
|
||||
}
|
||||
|
||||
@Override
|
||||
@SuppressWarnings("unchecked")
|
||||
public <FD extends AtomicFieldData, IFD extends IndexFieldData.Global<FD>> IFD load(DirectoryReader indexReader,
|
||||
IFD indexFieldData) throws Exception {
|
||||
public <FD extends LeafFieldData, IFD extends IndexFieldData.Global<FD>> IFD load(DirectoryReader indexReader,
|
||||
IFD indexFieldData) throws Exception {
|
||||
return (IFD) indexFieldData.localGlobalDirect(indexReader);
|
||||
}
|
||||
|
||||
|
@ -23,5 +23,5 @@ package org.elasticsearch.index.fielddata;
|
||||
/**
|
||||
* Specialization of {@link IndexFieldData} for geo points.
|
||||
*/
|
||||
public interface IndexGeoPointFieldData extends IndexFieldData<AtomicGeoPointFieldData> {
|
||||
public interface IndexGeoPointFieldData extends IndexFieldData<LeafGeoPointFieldData> {
|
||||
}
|
||||
|
@ -26,7 +26,7 @@ import org.elasticsearch.index.fielddata.plain.DocValuesIndexFieldData;
|
||||
/**
|
||||
* Specialization of {@link IndexFieldData} for histograms.
|
||||
*/
|
||||
public abstract class IndexHistogramFieldData extends DocValuesIndexFieldData implements IndexFieldData<AtomicHistogramFieldData> {
|
||||
public abstract class IndexHistogramFieldData extends DocValuesIndexFieldData implements IndexFieldData<LeafHistogramFieldData> {
|
||||
|
||||
public IndexHistogramFieldData(Index index, String fieldName) {
|
||||
super(index, fieldName);
|
||||
|
@ -19,7 +19,7 @@
|
||||
|
||||
package org.elasticsearch.index.fielddata;
|
||||
|
||||
public interface IndexNumericFieldData extends IndexFieldData<AtomicNumericFieldData> {
|
||||
public interface IndexNumericFieldData extends IndexFieldData<LeafNumericFieldData> {
|
||||
|
||||
enum NumericType {
|
||||
BOOLEAN(false),
|
||||
|
@ -27,7 +27,7 @@ import org.apache.lucene.index.OrdinalMap;
|
||||
/**
|
||||
* Specialization of {@link IndexFieldData} for data that is indexed with ordinals.
|
||||
*/
|
||||
public interface IndexOrdinalsFieldData extends IndexFieldData.Global<AtomicOrdinalsFieldData> {
|
||||
public interface IndexOrdinalsFieldData extends IndexFieldData.Global<LeafOrdinalsFieldData> {
|
||||
|
||||
/**
|
||||
* Load a global view of the ordinals for the given {@link IndexReader},
|
||||
|
@ -25,7 +25,7 @@ import org.elasticsearch.common.lease.Releasable;
|
||||
/**
|
||||
* The thread safe {@link org.apache.lucene.index.LeafReader} level cache of the data.
|
||||
*/
|
||||
public interface AtomicFieldData extends Accountable, Releasable {
|
||||
public interface LeafFieldData extends Accountable, Releasable {
|
||||
|
||||
/**
|
||||
* Returns field values for use in scripting.
|
@ -20,9 +20,9 @@ package org.elasticsearch.index.fielddata;
|
||||
|
||||
|
||||
/**
|
||||
* {@link AtomicFieldData} specialization for geo points.
|
||||
* {@link LeafFieldData} specialization for geo points.
|
||||
*/
|
||||
public interface AtomicGeoPointFieldData extends AtomicFieldData {
|
||||
public interface LeafGeoPointFieldData extends LeafFieldData {
|
||||
|
||||
/**
|
||||
* Return geo-point values.
|
@ -22,9 +22,9 @@ package org.elasticsearch.index.fielddata;
|
||||
import java.io.IOException;
|
||||
|
||||
/**
|
||||
* {@link AtomicFieldData} specialization for histogram data.
|
||||
* {@link LeafFieldData} specialization for histogram data.
|
||||
*/
|
||||
public interface AtomicHistogramFieldData extends AtomicFieldData {
|
||||
public interface LeafHistogramFieldData extends LeafFieldData {
|
||||
|
||||
/**
|
||||
* Return Histogram values.
|
@ -22,9 +22,9 @@ package org.elasticsearch.index.fielddata;
|
||||
import org.apache.lucene.index.SortedNumericDocValues;
|
||||
|
||||
/**
|
||||
* Specialization of {@link AtomicFieldData} for numeric data.
|
||||
* Specialization of {@link LeafFieldData} for numeric data.
|
||||
*/
|
||||
public interface AtomicNumericFieldData extends AtomicFieldData {
|
||||
public interface LeafNumericFieldData extends LeafFieldData {
|
||||
|
||||
/**
|
||||
* Get an integer view of the values of this segment. If the implementation
|
@ -22,10 +22,10 @@ package org.elasticsearch.index.fielddata;
|
||||
import org.apache.lucene.index.SortedSetDocValues;
|
||||
|
||||
/**
|
||||
* Specialization of {@link AtomicFieldData} for data that is indexed with
|
||||
* Specialization of {@link LeafFieldData} for data that is indexed with
|
||||
* ordinals.
|
||||
*/
|
||||
public interface AtomicOrdinalsFieldData extends AtomicFieldData {
|
||||
public interface LeafOrdinalsFieldData extends LeafFieldData {
|
||||
|
||||
/**
|
||||
* Return the ordinals values for the current atomic reader.
|
@ -452,7 +452,7 @@ public abstract class ScriptDocValues<T> extends AbstractList<T> {
|
||||
if (in.advanceExact(docId)) {
|
||||
resize(in.docValueCount());
|
||||
for (int i = 0; i < count; i++) {
|
||||
// We need to make a copy here, because BytesBinaryDVAtomicFieldData's SortedBinaryDocValues
|
||||
// We need to make a copy here, because BytesBinaryDVLeafFieldData's SortedBinaryDocValues
|
||||
// implementation reuses the returned BytesRef. Otherwise we would end up with the same BytesRef
|
||||
// instance for all slots in the values array.
|
||||
values[i].copyBytes(in.nextValue());
|
||||
|
@ -27,7 +27,7 @@ import org.apache.lucene.search.SortField;
|
||||
import org.apache.lucene.util.BitSet;
|
||||
import org.elasticsearch.common.Nullable;
|
||||
import org.elasticsearch.common.util.BigArrays;
|
||||
import org.elasticsearch.index.fielddata.AtomicNumericFieldData;
|
||||
import org.elasticsearch.index.fielddata.LeafNumericFieldData;
|
||||
import org.elasticsearch.index.fielddata.FieldData;
|
||||
import org.elasticsearch.index.fielddata.IndexFieldData;
|
||||
import org.elasticsearch.index.fielddata.IndexNumericFieldData;
|
||||
@ -67,7 +67,7 @@ public class LongValuesComparatorSource extends IndexFieldData.XFieldComparatorS
|
||||
}
|
||||
|
||||
private SortedNumericDocValues loadDocValues(LeafReaderContext context) {
|
||||
final AtomicNumericFieldData data = indexFieldData.load(context);
|
||||
final LeafNumericFieldData data = indexFieldData.load(context);
|
||||
SortedNumericDocValues values;
|
||||
if (data instanceof SortedNumericDVIndexFieldData.NanoSecondFieldData) {
|
||||
values = ((SortedNumericDVIndexFieldData.NanoSecondFieldData) data).getLongValuesAsNanos();
|
||||
@ -76,7 +76,7 @@ public class LongValuesComparatorSource extends IndexFieldData.XFieldComparatorS
|
||||
}
|
||||
return converter != null ? converter.apply(values) : values;
|
||||
}
|
||||
|
||||
|
||||
private NumericDocValues getNumericDocValues(LeafReaderContext context, long missingValue) throws IOException {
|
||||
final SortedNumericDocValues values = loadDocValues(context);
|
||||
if (nested == null) {
|
||||
|
@ -29,10 +29,10 @@ import org.apache.lucene.util.packed.PackedInts;
|
||||
import org.elasticsearch.common.breaker.CircuitBreaker;
|
||||
import org.elasticsearch.common.unit.TimeValue;
|
||||
import org.elasticsearch.index.IndexSettings;
|
||||
import org.elasticsearch.index.fielddata.AtomicOrdinalsFieldData;
|
||||
import org.elasticsearch.index.fielddata.LeafOrdinalsFieldData;
|
||||
import org.elasticsearch.index.fielddata.IndexOrdinalsFieldData;
|
||||
import org.elasticsearch.index.fielddata.ScriptDocValues;
|
||||
import org.elasticsearch.index.fielddata.plain.AbstractAtomicOrdinalsFieldData;
|
||||
import org.elasticsearch.index.fielddata.plain.AbstractLeafOrdinalsFieldData;
|
||||
import org.elasticsearch.indices.breaker.CircuitBreakerService;
|
||||
|
||||
import java.io.IOException;
|
||||
@ -56,7 +56,7 @@ public enum GlobalOrdinalsBuilder {
|
||||
assert indexReader.leaves().size() > 1;
|
||||
long startTimeNS = System.nanoTime();
|
||||
|
||||
final AtomicOrdinalsFieldData[] atomicFD = new AtomicOrdinalsFieldData[indexReader.leaves().size()];
|
||||
final LeafOrdinalsFieldData[] atomicFD = new LeafOrdinalsFieldData[indexReader.leaves().size()];
|
||||
final SortedSetDocValues[] subs = new SortedSetDocValues[indexReader.leaves().size()];
|
||||
for (int i = 0; i < indexReader.leaves().size(); ++i) {
|
||||
atomicFD[i] = indexFieldData.load(indexReader.leaves().get(i));
|
||||
@ -83,10 +83,10 @@ public enum GlobalOrdinalsBuilder {
|
||||
IndexOrdinalsFieldData indexFieldData) throws IOException {
|
||||
assert indexReader.leaves().size() > 1;
|
||||
|
||||
final AtomicOrdinalsFieldData[] atomicFD = new AtomicOrdinalsFieldData[indexReader.leaves().size()];
|
||||
final LeafOrdinalsFieldData[] atomicFD = new LeafOrdinalsFieldData[indexReader.leaves().size()];
|
||||
final SortedSetDocValues[] subs = new SortedSetDocValues[indexReader.leaves().size()];
|
||||
for (int i = 0; i < indexReader.leaves().size(); ++i) {
|
||||
atomicFD[i] = new AbstractAtomicOrdinalsFieldData(AbstractAtomicOrdinalsFieldData.DEFAULT_SCRIPT_FUNCTION) {
|
||||
atomicFD[i] = new AbstractLeafOrdinalsFieldData(AbstractLeafOrdinalsFieldData.DEFAULT_SCRIPT_FUNCTION) {
|
||||
@Override
|
||||
public SortedSetDocValues getOrdinalsValues() {
|
||||
return DocValues.emptySortedSet();
|
||||
@ -110,7 +110,7 @@ public enum GlobalOrdinalsBuilder {
|
||||
}
|
||||
final OrdinalMap ordinalMap = OrdinalMap.build(null, subs, PackedInts.DEFAULT);
|
||||
return new GlobalOrdinalsIndexFieldData(indexSettings, indexFieldData.getFieldName(),
|
||||
atomicFD, ordinalMap, 0, AbstractAtomicOrdinalsFieldData.DEFAULT_SCRIPT_FUNCTION
|
||||
atomicFD, ordinalMap, 0, AbstractLeafOrdinalsFieldData.DEFAULT_SCRIPT_FUNCTION
|
||||
);
|
||||
}
|
||||
|
||||
|
@ -29,11 +29,11 @@ import org.elasticsearch.common.Nullable;
|
||||
import org.elasticsearch.common.util.BigArrays;
|
||||
import org.elasticsearch.index.AbstractIndexComponent;
|
||||
import org.elasticsearch.index.IndexSettings;
|
||||
import org.elasticsearch.index.fielddata.AtomicOrdinalsFieldData;
|
||||
import org.elasticsearch.index.fielddata.LeafOrdinalsFieldData;
|
||||
import org.elasticsearch.index.fielddata.IndexFieldData.XFieldComparatorSource.Nested;
|
||||
import org.elasticsearch.index.fielddata.IndexOrdinalsFieldData;
|
||||
import org.elasticsearch.index.fielddata.ScriptDocValues;
|
||||
import org.elasticsearch.index.fielddata.plain.AbstractAtomicOrdinalsFieldData;
|
||||
import org.elasticsearch.index.fielddata.plain.AbstractLeafOrdinalsFieldData;
|
||||
import org.elasticsearch.search.DocValueFormat;
|
||||
import org.elasticsearch.search.MultiValueMode;
|
||||
import org.elasticsearch.search.sort.BucketedSort;
|
||||
@ -60,12 +60,12 @@ public final class GlobalOrdinalsIndexFieldData extends AbstractIndexComponent i
|
||||
private final long memorySizeInBytes;
|
||||
|
||||
private final OrdinalMap ordinalMap;
|
||||
private final AtomicOrdinalsFieldData[] segmentAfd;
|
||||
private final LeafOrdinalsFieldData[] segmentAfd;
|
||||
private final Function<SortedSetDocValues, ScriptDocValues<?>> scriptFunction;
|
||||
|
||||
protected GlobalOrdinalsIndexFieldData(IndexSettings indexSettings,
|
||||
String fieldName,
|
||||
AtomicOrdinalsFieldData[] segmentAfd,
|
||||
LeafOrdinalsFieldData[] segmentAfd,
|
||||
OrdinalMap ordinalMap,
|
||||
long memorySizeInBytes,
|
||||
Function<SortedSetDocValues, ScriptDocValues<?>> scriptFunction) {
|
||||
@ -82,7 +82,7 @@ public final class GlobalOrdinalsIndexFieldData extends AbstractIndexComponent i
|
||||
}
|
||||
|
||||
@Override
|
||||
public AtomicOrdinalsFieldData loadDirect(LeafReaderContext context) throws Exception {
|
||||
public LeafOrdinalsFieldData loadDirect(LeafReaderContext context) throws Exception {
|
||||
throw new IllegalStateException("loadDirect(LeafReaderContext) should not be called in this context");
|
||||
}
|
||||
|
||||
@ -127,7 +127,7 @@ public final class GlobalOrdinalsIndexFieldData extends AbstractIndexComponent i
|
||||
}
|
||||
|
||||
@Override
|
||||
public AtomicOrdinalsFieldData load(LeafReaderContext context) {
|
||||
public LeafOrdinalsFieldData load(LeafReaderContext context) {
|
||||
throw new IllegalStateException("load(LeafReaderContext) should not be called in this context");
|
||||
}
|
||||
|
||||
@ -172,7 +172,7 @@ public final class GlobalOrdinalsIndexFieldData extends AbstractIndexComponent i
|
||||
}
|
||||
|
||||
@Override
|
||||
public AtomicOrdinalsFieldData loadDirect(LeafReaderContext context) throws Exception {
|
||||
public LeafOrdinalsFieldData loadDirect(LeafReaderContext context) throws Exception {
|
||||
return load(context);
|
||||
}
|
||||
|
||||
@ -216,9 +216,9 @@ public final class GlobalOrdinalsIndexFieldData extends AbstractIndexComponent i
|
||||
}
|
||||
|
||||
@Override
|
||||
public AtomicOrdinalsFieldData load(LeafReaderContext context) {
|
||||
public LeafOrdinalsFieldData load(LeafReaderContext context) {
|
||||
assert source.getReaderCacheHelper().getKey() == context.parent.reader().getReaderCacheHelper().getKey();
|
||||
return new AbstractAtomicOrdinalsFieldData(scriptFunction) {
|
||||
return new AbstractLeafOrdinalsFieldData(scriptFunction) {
|
||||
@Override
|
||||
public SortedSetDocValues getOrdinalsValues() {
|
||||
final SortedSetDocValues values = segmentAfd[context.ord].getOrdinalsValues();
|
||||
|
@ -26,14 +26,14 @@ import org.apache.lucene.util.BytesRef;
|
||||
import org.elasticsearch.ElasticsearchException;
|
||||
import org.elasticsearch.index.AbstractIndexComponent;
|
||||
import org.elasticsearch.index.IndexSettings;
|
||||
import org.elasticsearch.index.fielddata.AtomicFieldData;
|
||||
import org.elasticsearch.index.fielddata.LeafFieldData;
|
||||
import org.elasticsearch.index.fielddata.IndexFieldData;
|
||||
import org.elasticsearch.index.fielddata.IndexFieldDataCache;
|
||||
import org.elasticsearch.index.fielddata.RamAccountingTermsEnum;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
public abstract class AbstractIndexFieldData<FD extends AtomicFieldData> extends AbstractIndexComponent implements IndexFieldData<FD> {
|
||||
public abstract class AbstractIndexFieldData<FD extends LeafFieldData> extends AbstractIndexComponent implements IndexFieldData<FD> {
|
||||
|
||||
private final String fieldName;
|
||||
protected final IndexFieldDataCache cache;
|
||||
|
@ -28,7 +28,7 @@ import org.apache.lucene.index.TermsEnum;
|
||||
import org.apache.lucene.util.BytesRef;
|
||||
import org.elasticsearch.ElasticsearchException;
|
||||
import org.elasticsearch.index.IndexSettings;
|
||||
import org.elasticsearch.index.fielddata.AtomicOrdinalsFieldData;
|
||||
import org.elasticsearch.index.fielddata.LeafOrdinalsFieldData;
|
||||
import org.elasticsearch.index.fielddata.IndexFieldDataCache;
|
||||
import org.elasticsearch.index.fielddata.IndexOrdinalsFieldData;
|
||||
import org.elasticsearch.index.fielddata.ordinals.GlobalOrdinalsBuilder;
|
||||
@ -37,7 +37,7 @@ import org.elasticsearch.indices.breaker.CircuitBreakerService;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
public abstract class AbstractIndexOrdinalsFieldData extends AbstractIndexFieldData<AtomicOrdinalsFieldData>
|
||||
public abstract class AbstractIndexOrdinalsFieldData extends AbstractIndexFieldData<LeafOrdinalsFieldData>
|
||||
implements IndexOrdinalsFieldData {
|
||||
|
||||
private final double minFrequency, maxFrequency;
|
||||
@ -108,12 +108,12 @@ public abstract class AbstractIndexOrdinalsFieldData extends AbstractIndexFieldD
|
||||
@Override
|
||||
public IndexOrdinalsFieldData localGlobalDirect(DirectoryReader indexReader) throws Exception {
|
||||
return GlobalOrdinalsBuilder.build(indexReader, this, indexSettings, breakerService, logger,
|
||||
AbstractAtomicOrdinalsFieldData.DEFAULT_SCRIPT_FUNCTION);
|
||||
AbstractLeafOrdinalsFieldData.DEFAULT_SCRIPT_FUNCTION);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected AtomicOrdinalsFieldData empty(int maxDoc) {
|
||||
return AbstractAtomicOrdinalsFieldData.empty();
|
||||
protected LeafOrdinalsFieldData empty(int maxDoc) {
|
||||
return AbstractLeafOrdinalsFieldData.empty();
|
||||
}
|
||||
|
||||
protected TermsEnum filter(Terms terms, TermsEnum iterator, LeafReader reader) throws IOException {
|
||||
|
@ -28,7 +28,7 @@ import org.elasticsearch.common.Nullable;
|
||||
import org.elasticsearch.common.util.BigArrays;
|
||||
import org.elasticsearch.index.Index;
|
||||
import org.elasticsearch.index.IndexSettings;
|
||||
import org.elasticsearch.index.fielddata.AtomicGeoPointFieldData;
|
||||
import org.elasticsearch.index.fielddata.LeafGeoPointFieldData;
|
||||
import org.elasticsearch.index.fielddata.IndexFieldData;
|
||||
import org.elasticsearch.index.fielddata.IndexFieldDataCache;
|
||||
import org.elasticsearch.index.fielddata.IndexGeoPointFieldData;
|
||||
@ -65,17 +65,17 @@ public abstract class AbstractLatLonPointDVIndexFieldData extends DocValuesIndex
|
||||
}
|
||||
|
||||
@Override
|
||||
public AtomicGeoPointFieldData load(LeafReaderContext context) {
|
||||
public LeafGeoPointFieldData load(LeafReaderContext context) {
|
||||
LeafReader reader = context.reader();
|
||||
FieldInfo info = reader.getFieldInfos().fieldInfo(fieldName);
|
||||
if (info != null) {
|
||||
checkCompatible(info);
|
||||
}
|
||||
return new LatLonPointDVAtomicFieldData(reader, fieldName);
|
||||
return new LatLonPointDVLeafFieldData(reader, fieldName);
|
||||
}
|
||||
|
||||
@Override
|
||||
public AtomicGeoPointFieldData loadDirect(LeafReaderContext context) throws Exception {
|
||||
public LeafGeoPointFieldData loadDirect(LeafReaderContext context) throws Exception {
|
||||
return load(context);
|
||||
}
|
||||
|
||||
|
@ -19,7 +19,7 @@
|
||||
package org.elasticsearch.index.fielddata.plain;
|
||||
|
||||
import org.apache.lucene.util.Accountable;
|
||||
import org.elasticsearch.index.fielddata.AtomicGeoPointFieldData;
|
||||
import org.elasticsearch.index.fielddata.LeafGeoPointFieldData;
|
||||
import org.elasticsearch.index.fielddata.FieldData;
|
||||
import org.elasticsearch.index.fielddata.MultiGeoPointValues;
|
||||
import org.elasticsearch.index.fielddata.ScriptDocValues;
|
||||
@ -28,7 +28,7 @@ import org.elasticsearch.index.fielddata.SortedBinaryDocValues;
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
|
||||
public abstract class AbstractAtomicGeoPointFieldData implements AtomicGeoPointFieldData {
|
||||
public abstract class AbstractLeafGeoPointFieldData implements LeafGeoPointFieldData {
|
||||
|
||||
@Override
|
||||
public final SortedBinaryDocValues getBytesValues() {
|
||||
@ -40,14 +40,14 @@ public abstract class AbstractAtomicGeoPointFieldData implements AtomicGeoPointF
|
||||
return new ScriptDocValues.GeoPoints(getGeoPointValues());
|
||||
}
|
||||
|
||||
public static AtomicGeoPointFieldData empty(final int maxDoc) {
|
||||
return new AbstractAtomicGeoPointFieldData() {
|
||||
public static LeafGeoPointFieldData empty(final int maxDoc) {
|
||||
return new AbstractLeafGeoPointFieldData() {
|
||||
|
||||
@Override
|
||||
public long ramBytesUsed() {
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public Collection<Accountable> getChildResources() {
|
||||
return Collections.emptyList();
|
@ -22,7 +22,7 @@ package org.elasticsearch.index.fielddata.plain;
|
||||
import org.apache.lucene.index.DocValues;
|
||||
import org.apache.lucene.index.SortedSetDocValues;
|
||||
import org.apache.lucene.util.Accountable;
|
||||
import org.elasticsearch.index.fielddata.AtomicOrdinalsFieldData;
|
||||
import org.elasticsearch.index.fielddata.LeafOrdinalsFieldData;
|
||||
import org.elasticsearch.index.fielddata.FieldData;
|
||||
import org.elasticsearch.index.fielddata.ScriptDocValues;
|
||||
import org.elasticsearch.index.fielddata.SortedBinaryDocValues;
|
||||
@ -32,7 +32,7 @@ import java.util.Collections;
|
||||
import java.util.function.Function;
|
||||
|
||||
|
||||
public abstract class AbstractAtomicOrdinalsFieldData implements AtomicOrdinalsFieldData {
|
||||
public abstract class AbstractLeafOrdinalsFieldData implements LeafOrdinalsFieldData {
|
||||
|
||||
public static final Function<SortedSetDocValues, ScriptDocValues<?>> DEFAULT_SCRIPT_FUNCTION =
|
||||
((Function<SortedSetDocValues, SortedBinaryDocValues>) FieldData::toString)
|
||||
@ -40,7 +40,7 @@ public abstract class AbstractAtomicOrdinalsFieldData implements AtomicOrdinalsF
|
||||
|
||||
private final Function<SortedSetDocValues, ScriptDocValues<?>> scriptFunction;
|
||||
|
||||
protected AbstractAtomicOrdinalsFieldData(Function<SortedSetDocValues, ScriptDocValues<?>> scriptFunction) {
|
||||
protected AbstractLeafOrdinalsFieldData(Function<SortedSetDocValues, ScriptDocValues<?>> scriptFunction) {
|
||||
this.scriptFunction = scriptFunction;
|
||||
}
|
||||
|
||||
@ -54,14 +54,14 @@ public abstract class AbstractAtomicOrdinalsFieldData implements AtomicOrdinalsF
|
||||
return FieldData.toString(getOrdinalsValues());
|
||||
}
|
||||
|
||||
public static AtomicOrdinalsFieldData empty() {
|
||||
return new AbstractAtomicOrdinalsFieldData(DEFAULT_SCRIPT_FUNCTION) {
|
||||
public static LeafOrdinalsFieldData empty() {
|
||||
return new AbstractLeafOrdinalsFieldData(DEFAULT_SCRIPT_FUNCTION) {
|
||||
|
||||
@Override
|
||||
public long ramBytesUsed() {
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public Collection<Accountable> getChildResources() {
|
||||
return Collections.emptyList();
|
@ -32,19 +32,19 @@ import org.elasticsearch.search.MultiValueMode;
|
||||
import org.elasticsearch.search.sort.BucketedSort;
|
||||
import org.elasticsearch.search.sort.SortOrder;
|
||||
|
||||
public class BinaryDVIndexFieldData extends DocValuesIndexFieldData implements IndexFieldData<BinaryDVAtomicFieldData> {
|
||||
public class BinaryDVIndexFieldData extends DocValuesIndexFieldData implements IndexFieldData<BinaryDVLeafFieldData> {
|
||||
|
||||
public BinaryDVIndexFieldData(Index index, String fieldName) {
|
||||
super(index, fieldName);
|
||||
}
|
||||
|
||||
@Override
|
||||
public BinaryDVAtomicFieldData load(LeafReaderContext context) {
|
||||
return new BinaryDVAtomicFieldData(context.reader(), fieldName);
|
||||
public BinaryDVLeafFieldData load(LeafReaderContext context) {
|
||||
return new BinaryDVLeafFieldData(context.reader(), fieldName);
|
||||
}
|
||||
|
||||
@Override
|
||||
public BinaryDVAtomicFieldData loadDirect(LeafReaderContext context) throws Exception {
|
||||
public BinaryDVLeafFieldData loadDirect(LeafReaderContext context) throws Exception {
|
||||
return load(context);
|
||||
}
|
||||
|
||||
|
@ -23,7 +23,7 @@ import org.apache.lucene.index.BinaryDocValues;
|
||||
import org.apache.lucene.index.DocValues;
|
||||
import org.apache.lucene.index.LeafReader;
|
||||
import org.apache.lucene.util.Accountable;
|
||||
import org.elasticsearch.index.fielddata.AtomicFieldData;
|
||||
import org.elasticsearch.index.fielddata.LeafFieldData;
|
||||
import org.elasticsearch.index.fielddata.FieldData;
|
||||
import org.elasticsearch.index.fielddata.ScriptDocValues;
|
||||
import org.elasticsearch.index.fielddata.ScriptDocValues.Strings;
|
||||
@ -33,13 +33,13 @@ import java.io.IOException;
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
|
||||
/** {@link AtomicFieldData} impl on top of Lucene's binary doc values. */
|
||||
public class BinaryDVAtomicFieldData implements AtomicFieldData {
|
||||
/** {@link LeafFieldData} impl on top of Lucene's binary doc values. */
|
||||
public class BinaryDVLeafFieldData implements LeafFieldData {
|
||||
|
||||
private final LeafReader reader;
|
||||
private final String field;
|
||||
|
||||
public BinaryDVAtomicFieldData(LeafReader reader, String field) {
|
||||
public BinaryDVLeafFieldData(LeafReader reader, String field) {
|
||||
this.reader = reader;
|
||||
this.field = field;
|
||||
}
|
||||
@ -68,7 +68,7 @@ public class BinaryDVAtomicFieldData implements AtomicFieldData {
|
||||
public long ramBytesUsed() {
|
||||
return 0; // unknown
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public Collection<Accountable> getChildResources() {
|
||||
return Collections.emptyList();
|
@ -39,7 +39,7 @@ import org.elasticsearch.search.sort.SortOrder;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
public class BytesBinaryDVIndexFieldData extends DocValuesIndexFieldData implements IndexFieldData<BytesBinaryDVAtomicFieldData> {
|
||||
public class BytesBinaryDVIndexFieldData extends DocValuesIndexFieldData implements IndexFieldData<BytesBinaryDVLeafFieldData> {
|
||||
|
||||
public BytesBinaryDVIndexFieldData(Index index, String fieldName) {
|
||||
super(index, fieldName);
|
||||
@ -57,16 +57,16 @@ public class BytesBinaryDVIndexFieldData extends DocValuesIndexFieldData impleme
|
||||
}
|
||||
|
||||
@Override
|
||||
public BytesBinaryDVAtomicFieldData load(LeafReaderContext context) {
|
||||
public BytesBinaryDVLeafFieldData load(LeafReaderContext context) {
|
||||
try {
|
||||
return new BytesBinaryDVAtomicFieldData(DocValues.getBinary(context.reader(), fieldName));
|
||||
return new BytesBinaryDVLeafFieldData(DocValues.getBinary(context.reader(), fieldName));
|
||||
} catch (IOException e) {
|
||||
throw new IllegalStateException("Cannot load doc values", e);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public BytesBinaryDVAtomicFieldData loadDirect(LeafReaderContext context) throws Exception {
|
||||
public BytesBinaryDVLeafFieldData loadDirect(LeafReaderContext context) throws Exception {
|
||||
return load(context);
|
||||
}
|
||||
|
||||
|
@ -23,7 +23,7 @@ import org.apache.lucene.index.BinaryDocValues;
|
||||
import org.apache.lucene.store.ByteArrayDataInput;
|
||||
import org.apache.lucene.util.Accountable;
|
||||
import org.apache.lucene.util.BytesRef;
|
||||
import org.elasticsearch.index.fielddata.AtomicFieldData;
|
||||
import org.elasticsearch.index.fielddata.LeafFieldData;
|
||||
import org.elasticsearch.index.fielddata.ScriptDocValues;
|
||||
import org.elasticsearch.index.fielddata.SortedBinaryDocValues;
|
||||
|
||||
@ -31,11 +31,11 @@ import java.io.IOException;
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
|
||||
final class BytesBinaryDVAtomicFieldData implements AtomicFieldData {
|
||||
final class BytesBinaryDVLeafFieldData implements LeafFieldData {
|
||||
|
||||
private final BinaryDocValues values;
|
||||
|
||||
BytesBinaryDVAtomicFieldData(BinaryDocValues values) {
|
||||
BytesBinaryDVLeafFieldData(BinaryDocValues values) {
|
||||
super();
|
||||
this.values = values;
|
||||
}
|
@ -31,7 +31,7 @@ import org.elasticsearch.common.Nullable;
|
||||
import org.elasticsearch.common.util.BigArrays;
|
||||
import org.elasticsearch.index.IndexSettings;
|
||||
import org.elasticsearch.index.fielddata.AbstractSortedDocValues;
|
||||
import org.elasticsearch.index.fielddata.AtomicOrdinalsFieldData;
|
||||
import org.elasticsearch.index.fielddata.LeafOrdinalsFieldData;
|
||||
import org.elasticsearch.index.fielddata.IndexFieldData;
|
||||
import org.elasticsearch.index.fielddata.IndexFieldDataCache;
|
||||
import org.elasticsearch.index.fielddata.IndexOrdinalsFieldData;
|
||||
@ -69,11 +69,11 @@ public class ConstantIndexFieldData extends AbstractIndexOrdinalsFieldData {
|
||||
|
||||
}
|
||||
|
||||
private static class ConstantAtomicFieldData extends AbstractAtomicOrdinalsFieldData {
|
||||
private static class ConstantLeafFieldData extends AbstractLeafOrdinalsFieldData {
|
||||
|
||||
private final String value;
|
||||
|
||||
ConstantAtomicFieldData(String value) {
|
||||
ConstantLeafFieldData(String value) {
|
||||
super(DEFAULT_SCRIPT_FUNCTION);
|
||||
this.value = value;
|
||||
}
|
||||
@ -134,14 +134,14 @@ public class ConstantIndexFieldData extends AbstractIndexOrdinalsFieldData {
|
||||
|
||||
}
|
||||
|
||||
private final ConstantAtomicFieldData atomicFieldData;
|
||||
private final ConstantLeafFieldData atomicFieldData;
|
||||
|
||||
private ConstantIndexFieldData(IndexSettings indexSettings, String name, String value) {
|
||||
super(indexSettings, name, null, null,
|
||||
TextFieldMapper.Defaults.FIELDDATA_MIN_FREQUENCY,
|
||||
TextFieldMapper.Defaults.FIELDDATA_MAX_FREQUENCY,
|
||||
TextFieldMapper.Defaults.FIELDDATA_MIN_SEGMENT_SIZE);
|
||||
atomicFieldData = new ConstantAtomicFieldData(value);
|
||||
atomicFieldData = new ConstantLeafFieldData(value);
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -149,12 +149,12 @@ public class ConstantIndexFieldData extends AbstractIndexOrdinalsFieldData {
|
||||
}
|
||||
|
||||
@Override
|
||||
public final AtomicOrdinalsFieldData load(LeafReaderContext context) {
|
||||
public final LeafOrdinalsFieldData load(LeafReaderContext context) {
|
||||
return atomicFieldData;
|
||||
}
|
||||
|
||||
@Override
|
||||
public AtomicOrdinalsFieldData loadDirect(LeafReaderContext context)
|
||||
public LeafOrdinalsFieldData loadDirect(LeafReaderContext context)
|
||||
throws Exception {
|
||||
return atomicFieldData;
|
||||
}
|
||||
|
@ -71,7 +71,7 @@ public abstract class DocValuesIndexFieldData {
|
||||
private static final Set<String> BINARY_INDEX_FIELD_NAMES = unmodifiableSet(newHashSet(IdFieldMapper.NAME));
|
||||
|
||||
private NumericType numericType;
|
||||
private Function<SortedSetDocValues, ScriptDocValues<?>> scriptFunction = AbstractAtomicOrdinalsFieldData.DEFAULT_SCRIPT_FUNCTION;
|
||||
private Function<SortedSetDocValues, ScriptDocValues<?>> scriptFunction = AbstractLeafOrdinalsFieldData.DEFAULT_SCRIPT_FUNCTION;
|
||||
private RangeType rangeType;
|
||||
|
||||
public Builder numericType(NumericType type) {
|
||||
|
@ -30,11 +30,11 @@ import java.io.IOException;
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
|
||||
final class LatLonPointDVAtomicFieldData extends AbstractAtomicGeoPointFieldData {
|
||||
final class LatLonPointDVLeafFieldData extends AbstractLeafGeoPointFieldData {
|
||||
private final LeafReader reader;
|
||||
private final String fieldName;
|
||||
|
||||
LatLonPointDVAtomicFieldData(LeafReader reader, String fieldName) {
|
||||
LatLonPointDVLeafFieldData(LeafReader reader, String fieldName) {
|
||||
super();
|
||||
this.reader = reader;
|
||||
this.fieldName = fieldName;
|
@ -21,7 +21,7 @@ package org.elasticsearch.index.fielddata.plain;
|
||||
|
||||
import org.apache.lucene.index.SortedNumericDocValues;
|
||||
import org.apache.lucene.util.Accountable;
|
||||
import org.elasticsearch.index.fielddata.AtomicNumericFieldData;
|
||||
import org.elasticsearch.index.fielddata.LeafNumericFieldData;
|
||||
import org.elasticsearch.index.fielddata.FieldData;
|
||||
import org.elasticsearch.index.fielddata.ScriptDocValues;
|
||||
import org.elasticsearch.index.fielddata.SortedBinaryDocValues;
|
||||
@ -32,13 +32,13 @@ import java.util.Collections;
|
||||
|
||||
|
||||
/**
|
||||
* Specialization of {@link AtomicNumericFieldData} for floating-point numerics.
|
||||
* Specialization of {@link LeafNumericFieldData} for floating-point numerics.
|
||||
*/
|
||||
abstract class AtomicDoubleFieldData implements AtomicNumericFieldData {
|
||||
abstract class LeafDoubleFieldData implements LeafNumericFieldData {
|
||||
|
||||
private final long ramBytesUsed;
|
||||
|
||||
AtomicDoubleFieldData(long ramBytesUsed) {
|
||||
LeafDoubleFieldData(long ramBytesUsed) {
|
||||
this.ramBytesUsed = ramBytesUsed;
|
||||
}
|
||||
|
||||
@ -62,8 +62,8 @@ abstract class AtomicDoubleFieldData implements AtomicNumericFieldData {
|
||||
return FieldData.castToLong(getDoubleValues());
|
||||
}
|
||||
|
||||
public static AtomicNumericFieldData empty(final int maxDoc) {
|
||||
return new AtomicDoubleFieldData(0) {
|
||||
public static LeafNumericFieldData empty(final int maxDoc) {
|
||||
return new LeafDoubleFieldData(0) {
|
||||
|
||||
@Override
|
||||
public SortedNumericDoubleValues getDoubleValues() {
|
@ -19,7 +19,7 @@
|
||||
|
||||
package org.elasticsearch.index.fielddata.plain;
|
||||
|
||||
import org.elasticsearch.index.fielddata.AtomicNumericFieldData;
|
||||
import org.elasticsearch.index.fielddata.LeafNumericFieldData;
|
||||
import org.elasticsearch.index.fielddata.FieldData;
|
||||
import org.elasticsearch.index.fielddata.IndexNumericFieldData.NumericType;
|
||||
import org.elasticsearch.index.fielddata.ScriptDocValues;
|
||||
@ -27,9 +27,9 @@ import org.elasticsearch.index.fielddata.SortedBinaryDocValues;
|
||||
import org.elasticsearch.index.fielddata.SortedNumericDoubleValues;
|
||||
|
||||
/**
|
||||
* Specialization of {@link AtomicNumericFieldData} for integers.
|
||||
* Specialization of {@link LeafNumericFieldData} for integers.
|
||||
*/
|
||||
abstract class AtomicLongFieldData implements AtomicNumericFieldData {
|
||||
abstract class LeafLongFieldData implements LeafNumericFieldData {
|
||||
|
||||
private final long ramBytesUsed;
|
||||
/**
|
||||
@ -37,7 +37,7 @@ abstract class AtomicLongFieldData implements AtomicNumericFieldData {
|
||||
*/
|
||||
private final NumericType numericType;
|
||||
|
||||
AtomicLongFieldData(long ramBytesUsed, NumericType numericType) {
|
||||
LeafLongFieldData(long ramBytesUsed, NumericType numericType) {
|
||||
this.ramBytesUsed = ramBytesUsed;
|
||||
this.numericType = numericType;
|
||||
}
|
@ -35,7 +35,7 @@ import org.elasticsearch.common.Nullable;
|
||||
import org.elasticsearch.common.breaker.CircuitBreaker;
|
||||
import org.elasticsearch.common.util.BigArrays;
|
||||
import org.elasticsearch.index.IndexSettings;
|
||||
import org.elasticsearch.index.fielddata.AtomicOrdinalsFieldData;
|
||||
import org.elasticsearch.index.fielddata.LeafOrdinalsFieldData;
|
||||
import org.elasticsearch.index.fielddata.IndexFieldData;
|
||||
import org.elasticsearch.index.fielddata.IndexFieldDataCache;
|
||||
import org.elasticsearch.index.fielddata.IndexOrdinalsFieldData;
|
||||
@ -96,15 +96,15 @@ public class PagedBytesIndexFieldData extends AbstractIndexOrdinalsFieldData {
|
||||
}
|
||||
|
||||
@Override
|
||||
public AtomicOrdinalsFieldData loadDirect(LeafReaderContext context) throws Exception {
|
||||
public LeafOrdinalsFieldData loadDirect(LeafReaderContext context) throws Exception {
|
||||
LeafReader reader = context.reader();
|
||||
AtomicOrdinalsFieldData data = null;
|
||||
LeafOrdinalsFieldData data = null;
|
||||
|
||||
PagedBytesEstimator estimator =
|
||||
new PagedBytesEstimator(context, breakerService.getBreaker(CircuitBreaker.FIELDDATA), getFieldName());
|
||||
Terms terms = reader.terms(getFieldName());
|
||||
if (terms == null) {
|
||||
data = AbstractAtomicOrdinalsFieldData.empty();
|
||||
data = AbstractLeafOrdinalsFieldData.empty();
|
||||
estimator.afterLoad(null, data.ramBytesUsed());
|
||||
return data;
|
||||
}
|
||||
@ -135,7 +135,7 @@ public class PagedBytesIndexFieldData extends AbstractIndexOrdinalsFieldData {
|
||||
PagedBytes.Reader bytesReader = bytes.freeze(true);
|
||||
final Ordinals ordinals = builder.build();
|
||||
|
||||
data = new PagedBytesAtomicFieldData(bytesReader, termOrdToBytesOffset.build(), ordinals);
|
||||
data = new PagedBytesLeafFieldData(bytesReader, termOrdToBytesOffset.build(), ordinals);
|
||||
success = true;
|
||||
return data;
|
||||
} finally {
|
||||
|
@ -31,13 +31,13 @@ import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
public class PagedBytesAtomicFieldData extends AbstractAtomicOrdinalsFieldData {
|
||||
public class PagedBytesLeafFieldData extends AbstractLeafOrdinalsFieldData {
|
||||
|
||||
private final PagedBytes.Reader bytes;
|
||||
private final PackedLongValues termOrdToBytesOffset;
|
||||
protected final Ordinals ordinals;
|
||||
|
||||
public PagedBytesAtomicFieldData(PagedBytes.Reader bytes, PackedLongValues termOrdToBytesOffset, Ordinals ordinals) {
|
||||
public PagedBytesLeafFieldData(PagedBytes.Reader bytes, PackedLongValues termOrdToBytesOffset, Ordinals ordinals) {
|
||||
super(DEFAULT_SCRIPT_FUNCTION);
|
||||
this.bytes = bytes;
|
||||
this.termOrdToBytesOffset = termOrdToBytesOffset;
|
@ -36,7 +36,7 @@ import org.elasticsearch.common.time.DateUtils;
|
||||
import org.elasticsearch.common.util.BigArrays;
|
||||
import org.elasticsearch.index.Index;
|
||||
import org.elasticsearch.index.fielddata.AbstractSortedNumericDocValues;
|
||||
import org.elasticsearch.index.fielddata.AtomicNumericFieldData;
|
||||
import org.elasticsearch.index.fielddata.LeafNumericFieldData;
|
||||
import org.elasticsearch.index.fielddata.FieldData;
|
||||
import org.elasticsearch.index.fielddata.IndexFieldData.XFieldComparatorSource.Nested;
|
||||
import org.elasticsearch.index.fielddata.IndexNumericFieldData;
|
||||
@ -167,12 +167,12 @@ public class SortedNumericDVIndexFieldData extends DocValuesIndexFieldData imple
|
||||
}
|
||||
|
||||
@Override
|
||||
public AtomicNumericFieldData loadDirect(LeafReaderContext context) throws Exception {
|
||||
public LeafNumericFieldData loadDirect(LeafReaderContext context) throws Exception {
|
||||
return load(context);
|
||||
}
|
||||
|
||||
@Override
|
||||
public AtomicNumericFieldData load(LeafReaderContext context) {
|
||||
public LeafNumericFieldData load(LeafReaderContext context) {
|
||||
final LeafReader reader = context.reader();
|
||||
final String field = fieldName;
|
||||
|
||||
@ -194,7 +194,7 @@ public class SortedNumericDVIndexFieldData extends DocValuesIndexFieldData imple
|
||||
* A small helper class that can be configured to load nanosecond field data either in nanosecond resolution retaining the original
|
||||
* values or in millisecond resolution converting the nanosecond values to milliseconds
|
||||
*/
|
||||
public final class NanoSecondFieldData extends AtomicLongFieldData {
|
||||
public final class NanoSecondFieldData extends LeafLongFieldData {
|
||||
|
||||
private final LeafReader reader;
|
||||
private final String fieldName;
|
||||
@ -230,7 +230,7 @@ public class SortedNumericDVIndexFieldData extends DocValuesIndexFieldData imple
|
||||
* {@link DocValues#unwrapSingleton(SortedNumericDocValues)} will return
|
||||
* the underlying single-valued NumericDocValues representation.
|
||||
*/
|
||||
static final class SortedNumericLongFieldData extends AtomicLongFieldData {
|
||||
static final class SortedNumericLongFieldData extends LeafLongFieldData {
|
||||
final LeafReader reader;
|
||||
final String field;
|
||||
|
||||
@ -268,7 +268,7 @@ public class SortedNumericDVIndexFieldData extends DocValuesIndexFieldData imple
|
||||
* {@link FieldData#unwrapSingleton(SortedNumericDoubleValues)} will return
|
||||
* the underlying single-valued NumericDoubleValues representation.
|
||||
*/
|
||||
static final class SortedNumericHalfFloatFieldData extends AtomicDoubleFieldData {
|
||||
static final class SortedNumericHalfFloatFieldData extends LeafDoubleFieldData {
|
||||
final LeafReader reader;
|
||||
final String field;
|
||||
|
||||
@ -360,7 +360,7 @@ public class SortedNumericDVIndexFieldData extends DocValuesIndexFieldData imple
|
||||
* {@link FieldData#unwrapSingleton(SortedNumericDoubleValues)} will return
|
||||
* the underlying single-valued NumericDoubleValues representation.
|
||||
*/
|
||||
static final class SortedNumericFloatFieldData extends AtomicDoubleFieldData {
|
||||
static final class SortedNumericFloatFieldData extends LeafDoubleFieldData {
|
||||
final LeafReader reader;
|
||||
final String field;
|
||||
|
||||
@ -452,7 +452,7 @@ public class SortedNumericDVIndexFieldData extends DocValuesIndexFieldData imple
|
||||
* {@link FieldData#unwrapSingleton(SortedNumericDoubleValues)} will return
|
||||
* the underlying single-valued NumericDoubleValues representation.
|
||||
*/
|
||||
static final class SortedNumericDoubleFieldData extends AtomicDoubleFieldData {
|
||||
static final class SortedNumericDoubleFieldData extends LeafDoubleFieldData {
|
||||
final LeafReader reader;
|
||||
final String field;
|
||||
|
||||
|
@ -23,7 +23,7 @@ import org.apache.lucene.index.DocValues;
|
||||
import org.apache.lucene.index.LeafReader;
|
||||
import org.apache.lucene.index.SortedSetDocValues;
|
||||
import org.apache.lucene.util.Accountable;
|
||||
import org.elasticsearch.index.fielddata.AtomicFieldData;
|
||||
import org.elasticsearch.index.fielddata.LeafFieldData;
|
||||
import org.elasticsearch.index.fielddata.ScriptDocValues;
|
||||
|
||||
import java.io.IOException;
|
||||
@ -32,14 +32,14 @@ import java.util.Collections;
|
||||
import java.util.function.Function;
|
||||
|
||||
/**
|
||||
* An {@link AtomicFieldData} implementation that uses Lucene {@link SortedSetDocValues}.
|
||||
* An {@link LeafFieldData} implementation that uses Lucene {@link SortedSetDocValues}.
|
||||
*/
|
||||
public final class SortedSetDVBytesAtomicFieldData extends AbstractAtomicOrdinalsFieldData {
|
||||
public final class SortedSetDVBytesLeafFieldData extends AbstractLeafOrdinalsFieldData {
|
||||
|
||||
private final LeafReader reader;
|
||||
private final String field;
|
||||
|
||||
SortedSetDVBytesAtomicFieldData(LeafReader reader, String field, Function<SortedSetDocValues,
|
||||
SortedSetDVBytesLeafFieldData(LeafReader reader, String field, Function<SortedSetDocValues,
|
||||
ScriptDocValues<?>> scriptFunction) {
|
||||
super(scriptFunction);
|
||||
this.reader = reader;
|
||||
@ -63,7 +63,7 @@ public final class SortedSetDVBytesAtomicFieldData extends AbstractAtomicOrdinal
|
||||
public long ramBytesUsed() {
|
||||
return 0; // unknown
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public Collection<Accountable> getChildResources() {
|
||||
return Collections.emptyList();
|
@ -32,7 +32,7 @@ import org.elasticsearch.ElasticsearchException;
|
||||
import org.elasticsearch.common.Nullable;
|
||||
import org.elasticsearch.common.util.BigArrays;
|
||||
import org.elasticsearch.index.IndexSettings;
|
||||
import org.elasticsearch.index.fielddata.AtomicOrdinalsFieldData;
|
||||
import org.elasticsearch.index.fielddata.LeafOrdinalsFieldData;
|
||||
import org.elasticsearch.index.fielddata.IndexFieldData.XFieldComparatorSource.Nested;
|
||||
import org.elasticsearch.index.fielddata.IndexFieldDataCache;
|
||||
import org.elasticsearch.index.fielddata.IndexOrdinalsFieldData;
|
||||
@ -92,12 +92,12 @@ public class SortedSetDVOrdinalsIndexFieldData extends DocValuesIndexFieldData i
|
||||
}
|
||||
|
||||
@Override
|
||||
public AtomicOrdinalsFieldData load(LeafReaderContext context) {
|
||||
return new SortedSetDVBytesAtomicFieldData(context.reader(), fieldName, scriptFunction);
|
||||
public LeafOrdinalsFieldData load(LeafReaderContext context) {
|
||||
return new SortedSetDVBytesLeafFieldData(context.reader(), fieldName, scriptFunction);
|
||||
}
|
||||
|
||||
@Override
|
||||
public AtomicOrdinalsFieldData loadDirect(LeafReaderContext context) throws Exception {
|
||||
public LeafOrdinalsFieldData loadDirect(LeafReaderContext context) throws Exception {
|
||||
return load(context);
|
||||
}
|
||||
|
||||
|
@ -35,7 +35,7 @@ import org.elasticsearch.common.util.BigArrays;
|
||||
import org.elasticsearch.common.xcontent.XContentBuilder;
|
||||
import org.elasticsearch.index.Index;
|
||||
import org.elasticsearch.index.IndexSettings;
|
||||
import org.elasticsearch.index.fielddata.AtomicFieldData;
|
||||
import org.elasticsearch.index.fielddata.LeafFieldData;
|
||||
import org.elasticsearch.index.fielddata.IndexFieldData;
|
||||
import org.elasticsearch.index.fielddata.IndexFieldData.XFieldComparatorSource.Nested;
|
||||
import org.elasticsearch.index.fielddata.IndexFieldDataCache;
|
||||
@ -178,7 +178,7 @@ public class IdFieldMapper extends MetadataFieldMapper {
|
||||
deprecationLogger.deprecatedAndMaybeLog("id_field_data", ID_FIELD_DATA_DEPRECATION_MESSAGE);
|
||||
final IndexFieldData<?> fieldData = fieldDataBuilder.build(indexSettings, fieldType, cache,
|
||||
breakerService, mapperService);
|
||||
return new IndexFieldData<AtomicFieldData>() {
|
||||
return new IndexFieldData<LeafFieldData>() {
|
||||
|
||||
@Override
|
||||
public Index index() {
|
||||
@ -191,12 +191,12 @@ public class IdFieldMapper extends MetadataFieldMapper {
|
||||
}
|
||||
|
||||
@Override
|
||||
public AtomicFieldData load(LeafReaderContext context) {
|
||||
public LeafFieldData load(LeafReaderContext context) {
|
||||
return wrap(fieldData.load(context));
|
||||
}
|
||||
|
||||
@Override
|
||||
public AtomicFieldData loadDirect(LeafReaderContext context) throws Exception {
|
||||
public LeafFieldData loadDirect(LeafReaderContext context) throws Exception {
|
||||
return wrap(fieldData.loadDirect(context));
|
||||
}
|
||||
|
||||
@ -224,8 +224,8 @@ public class IdFieldMapper extends MetadataFieldMapper {
|
||||
}
|
||||
}
|
||||
|
||||
private static AtomicFieldData wrap(AtomicFieldData in) {
|
||||
return new AtomicFieldData() {
|
||||
private static LeafFieldData wrap(LeafFieldData in) {
|
||||
return new LeafFieldData() {
|
||||
|
||||
@Override
|
||||
public void close() {
|
||||
|
@ -40,7 +40,7 @@ import org.elasticsearch.common.settings.Setting.Property;
|
||||
import org.elasticsearch.common.settings.Settings;
|
||||
import org.elasticsearch.common.unit.ByteSizeValue;
|
||||
import org.elasticsearch.index.Index;
|
||||
import org.elasticsearch.index.fielddata.AtomicFieldData;
|
||||
import org.elasticsearch.index.fielddata.LeafFieldData;
|
||||
import org.elasticsearch.index.fielddata.IndexFieldData;
|
||||
import org.elasticsearch.index.fielddata.IndexFieldDataCache;
|
||||
import org.elasticsearch.index.shard.ShardId;
|
||||
@ -130,8 +130,9 @@ public class IndicesFieldDataCache implements RemovalListener<IndicesFieldDataCa
|
||||
}
|
||||
|
||||
@Override
|
||||
public <FD extends AtomicFieldData, IFD extends IndexFieldData<FD>> FD load(final LeafReaderContext context,
|
||||
final IFD indexFieldData) throws Exception {
|
||||
@SuppressWarnings("unchecked")
|
||||
public <FD extends LeafFieldData, IFD extends IndexFieldData<FD>> FD load(final LeafReaderContext context,
|
||||
final IFD indexFieldData) throws Exception {
|
||||
final ShardId shardId = ShardUtils.extractShardId(context.reader());
|
||||
final IndexReader.CacheHelper cacheHelper = context.reader().getCoreCacheHelper();
|
||||
if (cacheHelper == null) {
|
||||
@ -142,7 +143,7 @@ public class IndicesFieldDataCache implements RemovalListener<IndicesFieldDataCa
|
||||
final Accountable accountable = cache.computeIfAbsent(key, k -> {
|
||||
cacheHelper.addClosedListener(IndexFieldCache.this);
|
||||
Collections.addAll(k.listeners, this.listeners);
|
||||
final AtomicFieldData fieldData = indexFieldData.loadDirect(context);
|
||||
final LeafFieldData fieldData = indexFieldData.loadDirect(context);
|
||||
for (Listener listener : k.listeners) {
|
||||
try {
|
||||
listener.onCache(shardId, fieldName, fieldData);
|
||||
@ -157,8 +158,9 @@ public class IndicesFieldDataCache implements RemovalListener<IndicesFieldDataCa
|
||||
}
|
||||
|
||||
@Override
|
||||
public <FD extends AtomicFieldData, IFD extends IndexFieldData.Global<FD>> IFD load(final DirectoryReader indexReader,
|
||||
final IFD indexFieldData) throws Exception {
|
||||
@SuppressWarnings("unchecked")
|
||||
public <FD extends LeafFieldData, IFD extends IndexFieldData.Global<FD>> IFD load(final DirectoryReader indexReader,
|
||||
final IFD indexFieldData) throws Exception {
|
||||
final ShardId shardId = ShardUtils.extractShardId(indexReader);
|
||||
final IndexReader.CacheHelper cacheHelper = indexReader.getReaderCacheHelper();
|
||||
if (cacheHelper == null) {
|
||||
|
@ -32,7 +32,7 @@ import org.elasticsearch.common.unit.TimeValue;
|
||||
import org.elasticsearch.common.xcontent.ObjectParser;
|
||||
import org.elasticsearch.common.xcontent.XContentBuilder;
|
||||
import org.elasticsearch.common.xcontent.XContentParser;
|
||||
import org.elasticsearch.index.fielddata.AtomicNumericFieldData;
|
||||
import org.elasticsearch.index.fielddata.LeafNumericFieldData;
|
||||
import org.elasticsearch.index.fielddata.IndexNumericFieldData;
|
||||
import org.elasticsearch.index.mapper.DateFieldMapper;
|
||||
import org.elasticsearch.index.mapper.MappedFieldType;
|
||||
@ -293,7 +293,7 @@ public class DateHistogramAggregationBuilder extends ValuesSourceAggregationBuil
|
||||
}
|
||||
|
||||
/**
|
||||
* Parse the string specification of an offset.
|
||||
* Parse the string specification of an offset.
|
||||
*/
|
||||
public static long parseStringOffset(String offset) {
|
||||
if (offset.charAt(0) == '-') {
|
||||
@ -464,7 +464,7 @@ public class DateHistogramAggregationBuilder extends ValuesSourceAggregationBuil
|
||||
Instant instant = null;
|
||||
final IndexNumericFieldData fieldData = context.getForField(ft);
|
||||
for (LeafReaderContext ctx : reader.leaves()) {
|
||||
AtomicNumericFieldData leafFD = fieldData.load(ctx);
|
||||
LeafNumericFieldData leafFD = fieldData.load(ctx);
|
||||
SortedNumericDocValues values = leafFD.getLongValues();
|
||||
if (values.nextDoc() != DocIdSetIterator.NO_MORE_DOCS) {
|
||||
instant = Instant.ofEpochMilli(values.nextValue());
|
||||
|
@ -31,7 +31,7 @@ import org.apache.lucene.util.BytesRef;
|
||||
import org.elasticsearch.common.lucene.ScorerAware;
|
||||
import org.elasticsearch.common.util.CollectionUtils;
|
||||
import org.elasticsearch.index.fielddata.AbstractSortingNumericDocValues;
|
||||
import org.elasticsearch.index.fielddata.AtomicOrdinalsFieldData;
|
||||
import org.elasticsearch.index.fielddata.LeafOrdinalsFieldData;
|
||||
import org.elasticsearch.index.fielddata.DocValueBits;
|
||||
import org.elasticsearch.index.fielddata.HistogramValues;
|
||||
import org.elasticsearch.index.fielddata.IndexFieldData;
|
||||
@ -170,20 +170,20 @@ public abstract class ValuesSource {
|
||||
|
||||
@Override
|
||||
public SortedBinaryDocValues bytesValues(LeafReaderContext context) {
|
||||
final AtomicOrdinalsFieldData atomicFieldData = indexFieldData.load(context);
|
||||
final LeafOrdinalsFieldData atomicFieldData = indexFieldData.load(context);
|
||||
return atomicFieldData.getBytesValues();
|
||||
}
|
||||
|
||||
@Override
|
||||
public SortedSetDocValues ordinalsValues(LeafReaderContext context) {
|
||||
final AtomicOrdinalsFieldData atomicFieldData = indexFieldData.load(context);
|
||||
final LeafOrdinalsFieldData atomicFieldData = indexFieldData.load(context);
|
||||
return atomicFieldData.getOrdinalsValues();
|
||||
}
|
||||
|
||||
@Override
|
||||
public SortedSetDocValues globalOrdinalsValues(LeafReaderContext context) {
|
||||
final IndexOrdinalsFieldData global = indexFieldData.loadGlobal((DirectoryReader)context.parent.reader());
|
||||
final AtomicOrdinalsFieldData atomicFieldData = global.load(context);
|
||||
final LeafOrdinalsFieldData atomicFieldData = global.load(context);
|
||||
return atomicFieldData.getOrdinalsValues();
|
||||
}
|
||||
|
||||
@ -565,7 +565,7 @@ public abstract class ValuesSource {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public abstract static class Histogram extends ValuesSource {
|
||||
|
||||
public abstract HistogramValues getHistogramValues(LeafReaderContext context) throws IOException;
|
||||
|
@ -24,8 +24,8 @@ import org.apache.lucene.index.ReaderUtil;
|
||||
import org.apache.lucene.index.SortedNumericDocValues;
|
||||
import org.elasticsearch.common.document.DocumentField;
|
||||
import org.elasticsearch.common.logging.DeprecationLogger;
|
||||
import org.elasticsearch.index.fielddata.AtomicFieldData;
|
||||
import org.elasticsearch.index.fielddata.AtomicNumericFieldData;
|
||||
import org.elasticsearch.index.fielddata.LeafFieldData;
|
||||
import org.elasticsearch.index.fielddata.LeafNumericFieldData;
|
||||
import org.elasticsearch.index.fielddata.IndexFieldData;
|
||||
import org.elasticsearch.index.fielddata.IndexNumericFieldData;
|
||||
import org.elasticsearch.index.fielddata.SortedBinaryDocValues;
|
||||
@ -114,7 +114,7 @@ public final class FetchDocValuesPhase implements FetchSubPhase {
|
||||
format = fieldType.docValueFormat(formatDesc, null);
|
||||
}
|
||||
LeafReaderContext subReaderContext = null;
|
||||
AtomicFieldData data = null;
|
||||
LeafFieldData data = null;
|
||||
SortedBinaryDocValues binaryValues = null; // binary / string / ip fields
|
||||
SortedNumericDocValues longValues = null; // int / date fields
|
||||
SortedNumericDoubleValues doubleValues = null; // floating-point fields
|
||||
@ -127,14 +127,14 @@ public final class FetchDocValuesPhase implements FetchSubPhase {
|
||||
if (indexFieldData instanceof IndexNumericFieldData) {
|
||||
NumericType numericType = ((IndexNumericFieldData) indexFieldData).getNumericType();
|
||||
if (numericType.isFloatingPoint()) {
|
||||
doubleValues = ((AtomicNumericFieldData) data).getDoubleValues();
|
||||
doubleValues = ((LeafNumericFieldData) data).getDoubleValues();
|
||||
} else {
|
||||
// by default nanoseconds are cut to milliseconds within aggregations
|
||||
// however for doc value fields we need the original nanosecond longs
|
||||
if (isNanosecond) {
|
||||
longValues = ((SortedNumericDVIndexFieldData.NanoSecondFieldData) data).getLongValuesAsNanos();
|
||||
} else {
|
||||
longValues = ((AtomicNumericFieldData) data).getLongValues();
|
||||
longValues = ((LeafNumericFieldData) data).getLongValues();
|
||||
}
|
||||
}
|
||||
} else {
|
||||
|
@ -76,7 +76,7 @@ public abstract class AbstractFieldDataImplTestCase extends AbstractFieldDataTes
|
||||
IndexFieldData<?> indexFieldData = getForField("value");
|
||||
List<LeafReaderContext> readerContexts = refreshReader();
|
||||
for (LeafReaderContext readerContext : readerContexts) {
|
||||
AtomicFieldData fieldData = indexFieldData.load(readerContext);
|
||||
LeafFieldData fieldData = indexFieldData.load(readerContext);
|
||||
SortedBinaryDocValues values = fieldData.getBytesValues();
|
||||
for (int i = 0; i < readerContext.reader().maxDoc(); ++i) {
|
||||
assertTrue(values.advanceExact(i));
|
||||
@ -90,7 +90,7 @@ public abstract class AbstractFieldDataImplTestCase extends AbstractFieldDataTes
|
||||
IndexFieldData<?> indexFieldData = getForField("value");
|
||||
List<LeafReaderContext> readerContexts = refreshReader();
|
||||
for (LeafReaderContext readerContext : readerContexts) {
|
||||
AtomicFieldData fieldData = indexFieldData.load(readerContext);
|
||||
LeafFieldData fieldData = indexFieldData.load(readerContext);
|
||||
assertThat(fieldData.ramBytesUsed(), greaterThanOrEqualTo(minRamBytesUsed()));
|
||||
|
||||
SortedBinaryDocValues bytesValues = fieldData.getBytesValues();
|
||||
@ -160,7 +160,7 @@ public abstract class AbstractFieldDataImplTestCase extends AbstractFieldDataTes
|
||||
IndexFieldData<?> indexFieldData = getForField("value");
|
||||
List<LeafReaderContext> readerContexts = refreshReader();
|
||||
for (LeafReaderContext readerContext : readerContexts) {
|
||||
AtomicFieldData fieldData = indexFieldData.load(readerContext);
|
||||
LeafFieldData fieldData = indexFieldData.load(readerContext);
|
||||
assertThat(fieldData.ramBytesUsed(), greaterThanOrEqualTo(minRamBytesUsed()));
|
||||
|
||||
SortedBinaryDocValues bytesValues = fieldData.getBytesValues();
|
||||
@ -181,7 +181,7 @@ public abstract class AbstractFieldDataImplTestCase extends AbstractFieldDataTes
|
||||
IndexFieldData<?> indexFieldData = getForField("value");
|
||||
List<LeafReaderContext> readerContexts = refreshReader();
|
||||
for (LeafReaderContext readerContext : readerContexts) {
|
||||
AtomicFieldData fieldData = indexFieldData.load(readerContext);
|
||||
LeafFieldData fieldData = indexFieldData.load(readerContext);
|
||||
assertThat(fieldData.ramBytesUsed(), greaterThanOrEqualTo(minRamBytesUsed()));
|
||||
|
||||
SortedBinaryDocValues bytesValues = fieldData.getBytesValues();
|
||||
@ -215,7 +215,7 @@ public abstract class AbstractFieldDataImplTestCase extends AbstractFieldDataTes
|
||||
IndexFieldData<?> indexFieldData = getForField("value");
|
||||
List<LeafReaderContext> readerContexts = refreshReader();
|
||||
for (LeafReaderContext readerContext : readerContexts) {
|
||||
AtomicFieldData fieldData = indexFieldData.load(readerContext);
|
||||
LeafFieldData fieldData = indexFieldData.load(readerContext);
|
||||
assertThat(fieldData.ramBytesUsed(), greaterThanOrEqualTo(minRamBytesUsed()));
|
||||
|
||||
SortedBinaryDocValues bytesValues = fieldData.getBytesValues();
|
||||
@ -231,7 +231,7 @@ public abstract class AbstractFieldDataImplTestCase extends AbstractFieldDataTes
|
||||
IndexFieldData<?> indexFieldData = getForField("value");
|
||||
List<LeafReaderContext> readerContexts = refreshReader();
|
||||
for (LeafReaderContext readerContext : readerContexts) {
|
||||
AtomicFieldData fieldData = indexFieldData.load(readerContext);
|
||||
LeafFieldData fieldData = indexFieldData.load(readerContext);
|
||||
// Some impls (FST) return size 0 and some (PagedBytes) do take size in the case no actual data is loaded
|
||||
assertThat(fieldData.ramBytesUsed(), greaterThanOrEqualTo(0L));
|
||||
|
||||
|
@ -175,9 +175,9 @@ public abstract class AbstractFieldDataTestCase extends ESSingleNodeTestCase {
|
||||
IndexFieldData<?> fieldData = getForField("non_existing_field");
|
||||
int max = randomInt(7);
|
||||
for (LeafReaderContext readerContext : readerContexts) {
|
||||
AtomicFieldData previous = null;
|
||||
LeafFieldData previous = null;
|
||||
for (int i = 0; i < max; i++) {
|
||||
AtomicFieldData current = fieldData.load(readerContext);
|
||||
LeafFieldData current = fieldData.load(readerContext);
|
||||
assertThat(current.ramBytesUsed(), equalTo(0L));
|
||||
if (previous != null) {
|
||||
assertThat(current, not(sameInstance(previous)));
|
||||
|
@ -467,7 +467,7 @@ public abstract class AbstractStringFieldDataTestCase extends AbstractFieldDataI
|
||||
// First segment
|
||||
assertThat(globalOrdinals, instanceOf(GlobalOrdinalsIndexFieldData.Consumer.class));
|
||||
LeafReaderContext leaf = topLevelReader.leaves().get(0);
|
||||
AtomicOrdinalsFieldData afd = globalOrdinals.load(leaf);
|
||||
LeafOrdinalsFieldData afd = globalOrdinals.load(leaf);
|
||||
SortedSetDocValues values = afd.getOrdinalsValues();
|
||||
assertTrue(values.advanceExact(0));
|
||||
long ord = values.nextOrd();
|
||||
@ -553,7 +553,7 @@ public abstract class AbstractStringFieldDataTestCase extends AbstractFieldDataI
|
||||
|
||||
IndexOrdinalsFieldData ifd = getForField("value");
|
||||
for (LeafReaderContext atomicReaderContext : atomicReaderContexts) {
|
||||
AtomicOrdinalsFieldData afd = ifd.load(atomicReaderContext);
|
||||
LeafOrdinalsFieldData afd = ifd.load(atomicReaderContext);
|
||||
|
||||
TermsEnum termsEnum = afd.getOrdinalsValues().termsEnum();
|
||||
int size = 0;
|
||||
|
@ -100,7 +100,7 @@ public class BinaryDVFieldDataTests extends AbstractFieldDataTestCase {
|
||||
bytesList2.sort(null);
|
||||
|
||||
// Test SortedBinaryDocValues's decoding:
|
||||
AtomicFieldData fieldData = indexFieldData.load(reader);
|
||||
LeafFieldData fieldData = indexFieldData.load(reader);
|
||||
SortedBinaryDocValues bytesValues = fieldData.getBytesValues();
|
||||
|
||||
assertTrue(bytesValues.advanceExact(0));
|
||||
|
@ -35,7 +35,7 @@ import org.elasticsearch.cluster.metadata.IndexMetaData;
|
||||
import org.elasticsearch.common.lucene.index.ElasticsearchDirectoryReader;
|
||||
import org.elasticsearch.common.settings.Settings;
|
||||
import org.elasticsearch.index.IndexSettings;
|
||||
import org.elasticsearch.index.fielddata.plain.AbstractAtomicOrdinalsFieldData;
|
||||
import org.elasticsearch.index.fielddata.plain.AbstractLeafOrdinalsFieldData;
|
||||
import org.elasticsearch.index.fielddata.plain.PagedBytesIndexFieldData;
|
||||
import org.elasticsearch.index.fielddata.plain.SortedSetDVOrdinalsIndexFieldData;
|
||||
import org.elasticsearch.index.mapper.TextFieldMapper;
|
||||
@ -89,7 +89,7 @@ public class FieldDataCacheTests extends ESTestCase {
|
||||
|
||||
private SortedSetDVOrdinalsIndexFieldData createSortedDV(String fieldName, IndexFieldDataCache indexFieldDataCache) {
|
||||
return new SortedSetDVOrdinalsIndexFieldData(createIndexSettings(), indexFieldDataCache, fieldName, new NoneCircuitBreakerService(),
|
||||
AbstractAtomicOrdinalsFieldData.DEFAULT_SCRIPT_FUNCTION);
|
||||
AbstractLeafOrdinalsFieldData.DEFAULT_SCRIPT_FUNCTION);
|
||||
}
|
||||
|
||||
private PagedBytesIndexFieldData createPagedBytes(String fieldName, IndexFieldDataCache indexFieldDataCache) {
|
||||
@ -115,14 +115,14 @@ public class FieldDataCacheTests extends ESTestCase {
|
||||
private int cachedGlobally = 0;
|
||||
|
||||
@Override
|
||||
public <FD extends AtomicFieldData, IFD extends IndexFieldData<FD>> FD load(LeafReaderContext context, IFD indexFieldData)
|
||||
public <FD extends LeafFieldData, IFD extends IndexFieldData<FD>> FD load(LeafReaderContext context, IFD indexFieldData)
|
||||
throws Exception {
|
||||
return indexFieldData.loadDirect(context);
|
||||
}
|
||||
|
||||
@Override
|
||||
public <FD extends AtomicFieldData, IFD extends IndexFieldData.Global<FD>> IFD load(DirectoryReader indexReader,
|
||||
IFD indexFieldData) throws Exception {
|
||||
public <FD extends LeafFieldData, IFD extends IndexFieldData.Global<FD>> IFD load(DirectoryReader indexReader,
|
||||
IFD indexFieldData) throws Exception {
|
||||
cachedGlobally++;
|
||||
return (IFD) indexFieldData.localGlobalDirect(indexReader);
|
||||
}
|
||||
|
@ -70,7 +70,7 @@ public class FilterFieldDataTests extends AbstractFieldDataTestCase {
|
||||
.build(builderCtx).fieldType();
|
||||
IndexOrdinalsFieldData fieldData = shardContext.getForField(ft);
|
||||
for (LeafReaderContext context : contexts) {
|
||||
AtomicOrdinalsFieldData loadDirect = fieldData.loadDirect(context);
|
||||
LeafOrdinalsFieldData loadDirect = fieldData.loadDirect(context);
|
||||
SortedSetDocValues bytesValues = loadDirect.getOrdinalsValues();
|
||||
assertThat(2L, equalTo(bytesValues.getValueCount()));
|
||||
assertThat(bytesValues.lookupOrd(0).utf8ToString(), equalTo("10"));
|
||||
@ -85,7 +85,7 @@ public class FilterFieldDataTests extends AbstractFieldDataTestCase {
|
||||
.build(builderCtx).fieldType();
|
||||
IndexOrdinalsFieldData fieldData = shardContext.getForField(ft);
|
||||
for (LeafReaderContext context : contexts) {
|
||||
AtomicOrdinalsFieldData loadDirect = fieldData.loadDirect(context);
|
||||
LeafOrdinalsFieldData loadDirect = fieldData.loadDirect(context);
|
||||
SortedSetDocValues bytesValues = loadDirect.getOrdinalsValues();
|
||||
assertThat(1L, equalTo(bytesValues.getValueCount()));
|
||||
assertThat(bytesValues.lookupOrd(0).utf8ToString(), equalTo("5"));
|
||||
@ -100,7 +100,7 @@ public class FilterFieldDataTests extends AbstractFieldDataTestCase {
|
||||
.build(builderCtx).fieldType();
|
||||
IndexOrdinalsFieldData fieldData = shardContext.getForField(ft);
|
||||
for (LeafReaderContext context : contexts) {
|
||||
AtomicOrdinalsFieldData loadDirect = fieldData.loadDirect(context);
|
||||
LeafOrdinalsFieldData loadDirect = fieldData.loadDirect(context);
|
||||
SortedSetDocValues bytesValues = loadDirect.getOrdinalsValues();
|
||||
assertThat(2L, equalTo(bytesValues.getValueCount()));
|
||||
assertThat(bytesValues.lookupOrd(0).utf8ToString(), equalTo("10"));
|
||||
@ -116,7 +116,7 @@ public class FilterFieldDataTests extends AbstractFieldDataTestCase {
|
||||
.build(builderCtx).fieldType();
|
||||
IndexOrdinalsFieldData fieldData = shardContext.getForField(ft);
|
||||
for (LeafReaderContext context : contexts) {
|
||||
AtomicOrdinalsFieldData loadDirect = fieldData.loadDirect(context);
|
||||
LeafOrdinalsFieldData loadDirect = fieldData.loadDirect(context);
|
||||
SortedSetDocValues bytesValues = loadDirect.getOrdinalsValues();
|
||||
assertThat(2L, equalTo(bytesValues.getValueCount()));
|
||||
assertThat(bytesValues.lookupOrd(0).utf8ToString(), equalTo("10"));
|
||||
|
@ -23,7 +23,7 @@ import org.apache.lucene.document.Field;
|
||||
import org.apache.lucene.document.StringField;
|
||||
import org.apache.lucene.index.LeafReaderContext;
|
||||
import org.apache.lucene.index.Term;
|
||||
import org.elasticsearch.index.fielddata.plain.AbstractAtomicGeoPointFieldData;
|
||||
import org.elasticsearch.index.fielddata.plain.AbstractLeafGeoPointFieldData;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@ -157,10 +157,10 @@ public class GeoFieldDataTests extends AbstractGeoFieldDataTestCase {
|
||||
IndexFieldData<?> indexFieldData = getForField("value");
|
||||
List<LeafReaderContext> readerContexts = refreshReader();
|
||||
for (LeafReaderContext readerContext : readerContexts) {
|
||||
AtomicFieldData fieldData = indexFieldData.load(readerContext);
|
||||
LeafFieldData fieldData = indexFieldData.load(readerContext);
|
||||
assertThat(fieldData.ramBytesUsed(), greaterThanOrEqualTo(minRamBytesUsed()));
|
||||
|
||||
MultiGeoPointValues fieldValues = ((AbstractAtomicGeoPointFieldData)fieldData).getGeoPointValues();
|
||||
MultiGeoPointValues fieldValues = ((AbstractLeafGeoPointFieldData)fieldData).getGeoPointValues();
|
||||
assertValues(fieldValues, 0);
|
||||
assertValues(fieldValues, 1);
|
||||
assertValues(fieldValues, 2);
|
||||
@ -173,10 +173,10 @@ public class GeoFieldDataTests extends AbstractGeoFieldDataTestCase {
|
||||
IndexFieldData<?> indexFieldData = getForField("value");
|
||||
List<LeafReaderContext> readerContexts = refreshReader();
|
||||
for (LeafReaderContext readerContext : readerContexts) {
|
||||
AtomicFieldData fieldData = indexFieldData.load(readerContext);
|
||||
LeafFieldData fieldData = indexFieldData.load(readerContext);
|
||||
assertThat(fieldData.ramBytesUsed(), greaterThanOrEqualTo(minRamBytesUsed()));
|
||||
|
||||
MultiGeoPointValues fieldValues = ((AbstractAtomicGeoPointFieldData)fieldData).getGeoPointValues();
|
||||
MultiGeoPointValues fieldValues = ((AbstractLeafGeoPointFieldData)fieldData).getGeoPointValues();
|
||||
assertValues(fieldValues, 0);
|
||||
assertMissing(fieldValues, 1);
|
||||
assertValues(fieldValues, 2);
|
||||
@ -189,10 +189,10 @@ public class GeoFieldDataTests extends AbstractGeoFieldDataTestCase {
|
||||
IndexFieldData<?> indexFieldData = getForField("value");
|
||||
List<LeafReaderContext> readerContexts = refreshReader();
|
||||
for (LeafReaderContext readerContext : readerContexts) {
|
||||
AtomicFieldData fieldData = indexFieldData.load(readerContext);
|
||||
LeafFieldData fieldData = indexFieldData.load(readerContext);
|
||||
assertThat(fieldData.ramBytesUsed(), greaterThanOrEqualTo(minRamBytesUsed()));
|
||||
|
||||
MultiGeoPointValues fieldValues = ((AbstractAtomicGeoPointFieldData)fieldData).getGeoPointValues();
|
||||
MultiGeoPointValues fieldValues = ((AbstractLeafGeoPointFieldData)fieldData).getGeoPointValues();
|
||||
assertValues(fieldValues, 0);
|
||||
assertValues(fieldValues, 1);
|
||||
assertValues(fieldValues, 2);
|
||||
@ -205,10 +205,10 @@ public class GeoFieldDataTests extends AbstractGeoFieldDataTestCase {
|
||||
IndexFieldData<?> indexFieldData = getForField("value");
|
||||
List<LeafReaderContext> readerContexts = refreshReader();
|
||||
for (LeafReaderContext readerContext : readerContexts) {
|
||||
AtomicFieldData fieldData = indexFieldData.load(readerContext);
|
||||
LeafFieldData fieldData = indexFieldData.load(readerContext);
|
||||
assertThat(fieldData.ramBytesUsed(), greaterThanOrEqualTo(minRamBytesUsed()));
|
||||
|
||||
MultiGeoPointValues fieldValues = ((AbstractAtomicGeoPointFieldData)fieldData).getGeoPointValues();
|
||||
MultiGeoPointValues fieldValues = ((AbstractLeafGeoPointFieldData)fieldData).getGeoPointValues();
|
||||
|
||||
assertValues(fieldValues, 0);
|
||||
assertMissing(fieldValues, 1);
|
||||
|
@ -132,8 +132,8 @@ public class IndexFieldDataServiceTests extends ESSingleNodeTestCase {
|
||||
IndexFieldData<?> ifd1 = ifdService.getForField(mapper1);
|
||||
IndexFieldData<?> ifd2 = ifdService.getForField(mapper2);
|
||||
LeafReaderContext leafReaderContext = reader.getContext().leaves().get(0);
|
||||
AtomicFieldData loadField1 = ifd1.load(leafReaderContext);
|
||||
AtomicFieldData loadField2 = ifd2.load(leafReaderContext);
|
||||
LeafFieldData loadField1 = ifd1.load(leafReaderContext);
|
||||
LeafFieldData loadField2 = ifd2.load(leafReaderContext);
|
||||
|
||||
assertEquals(2, onCacheCalled.get());
|
||||
assertEquals(0, onRemovalCalled.get());
|
||||
@ -201,7 +201,7 @@ public class IndexFieldDataServiceTests extends ESSingleNodeTestCase {
|
||||
});
|
||||
IndexFieldData<?> ifd = ifdService.getForField(mapper1);
|
||||
LeafReaderContext leafReaderContext = reader.getContext().leaves().get(0);
|
||||
AtomicFieldData load = ifd.load(leafReaderContext);
|
||||
LeafFieldData load = ifd.load(leafReaderContext);
|
||||
assertEquals(1, onCacheCalled.get());
|
||||
assertEquals(0, onRemovalCalled.get());
|
||||
reader.close();
|
||||
|
@ -35,8 +35,8 @@ import org.elasticsearch.search.sort.SortOrder;
|
||||
* eg. BytesRefFieldComparatorSource makes decisions based on whether the field data implements WithOrdinals. */
|
||||
public class NoOrdinalsStringFieldDataTests extends PagedBytesStringFieldDataTests {
|
||||
|
||||
public static IndexFieldData<AtomicFieldData> hideOrdinals(final IndexFieldData<?> in) {
|
||||
return new IndexFieldData<AtomicFieldData>() {
|
||||
public static IndexFieldData<LeafFieldData> hideOrdinals(final IndexFieldData<?> in) {
|
||||
return new IndexFieldData<LeafFieldData>() {
|
||||
|
||||
@Override
|
||||
public Index index() {
|
||||
@ -49,12 +49,12 @@ public class NoOrdinalsStringFieldDataTests extends PagedBytesStringFieldDataTes
|
||||
}
|
||||
|
||||
@Override
|
||||
public AtomicFieldData load(LeafReaderContext context) {
|
||||
public LeafFieldData load(LeafReaderContext context) {
|
||||
return in.load(context);
|
||||
}
|
||||
|
||||
@Override
|
||||
public AtomicFieldData loadDirect(LeafReaderContext context) throws Exception {
|
||||
public LeafFieldData loadDirect(LeafReaderContext context) throws Exception {
|
||||
return in.loadDirect(context);
|
||||
}
|
||||
|
||||
@ -80,7 +80,7 @@ public class NoOrdinalsStringFieldDataTests extends PagedBytesStringFieldDataTes
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
@Override
|
||||
public IndexFieldData<AtomicFieldData> getForField(String fieldName) {
|
||||
public IndexFieldData<LeafFieldData> getForField(String fieldName) {
|
||||
return hideOrdinals(super.getForField(fieldName));
|
||||
}
|
||||
|
||||
|
@ -41,7 +41,7 @@ import org.elasticsearch.common.time.DateMathParser;
|
||||
import org.elasticsearch.common.util.BigArrays;
|
||||
import org.elasticsearch.core.internal.io.IOUtils;
|
||||
import org.elasticsearch.index.IndexSettings;
|
||||
import org.elasticsearch.index.fielddata.AtomicNumericFieldData;
|
||||
import org.elasticsearch.index.fielddata.LeafNumericFieldData;
|
||||
import org.elasticsearch.index.fielddata.IndexNumericFieldData;
|
||||
import org.elasticsearch.index.fielddata.plain.SortedNumericDVIndexFieldData;
|
||||
import org.elasticsearch.index.mapper.DateFieldMapper.DateFieldType;
|
||||
@ -304,7 +304,7 @@ public class DateFieldTypeTests extends FieldTypeTestCase {
|
||||
// Read index and check the doc values
|
||||
DirectoryReader reader = DirectoryReader.open(w);
|
||||
assertTrue(reader.leaves().size() > 0);
|
||||
AtomicNumericFieldData a = fieldData.load(reader.leaves().get(0).reader().getContext());
|
||||
LeafNumericFieldData a = fieldData.load(reader.leaves().get(0).reader().getContext());
|
||||
SortedNumericDocValues docValues = a.getLongValues();
|
||||
assertEquals(0, docValues.nextDoc());
|
||||
assertEquals(1, docValues.nextDoc());
|
||||
|
@ -30,7 +30,7 @@ import org.elasticsearch.common.compress.CompressedXContent;
|
||||
import org.elasticsearch.common.settings.Settings;
|
||||
import org.elasticsearch.common.xcontent.XContentType;
|
||||
import org.elasticsearch.index.IndexService;
|
||||
import org.elasticsearch.index.fielddata.AtomicOrdinalsFieldData;
|
||||
import org.elasticsearch.index.fielddata.LeafOrdinalsFieldData;
|
||||
import org.elasticsearch.index.fielddata.IndexFieldDataCache;
|
||||
import org.elasticsearch.index.fielddata.IndexOrdinalsFieldData;
|
||||
import org.elasticsearch.index.mapper.MapperService.MergeReason;
|
||||
@ -70,7 +70,7 @@ public class TypeFieldMapperTests extends ESSingleNodeTestCase {
|
||||
MappedFieldType ft = mapperService.fieldType(TypeFieldMapper.NAME);
|
||||
IndexOrdinalsFieldData fd = (IndexOrdinalsFieldData) ft.fielddataBuilder("test").build(mapperService.getIndexSettings(),
|
||||
ft, new IndexFieldDataCache.None(), new NoneCircuitBreakerService(), mapperService);
|
||||
AtomicOrdinalsFieldData afd = fd.load(r.leaves().get(0));
|
||||
LeafOrdinalsFieldData afd = fd.load(r.leaves().get(0));
|
||||
SortedSetDocValues values = afd.getOrdinalsValues();
|
||||
assertTrue(values.advanceExact(0));
|
||||
assertEquals(0, values.nextOrd());
|
||||
|
@ -29,7 +29,7 @@ import org.elasticsearch.common.xcontent.NamedXContentRegistry;
|
||||
import org.elasticsearch.common.xcontent.XContentBuilder;
|
||||
import org.elasticsearch.index.IndexSettings;
|
||||
import org.elasticsearch.index.fielddata.IndexFieldData;
|
||||
import org.elasticsearch.index.fielddata.plain.AbstractAtomicOrdinalsFieldData;
|
||||
import org.elasticsearch.index.fielddata.plain.AbstractLeafOrdinalsFieldData;
|
||||
import org.elasticsearch.index.mapper.ContentPath;
|
||||
import org.elasticsearch.index.mapper.IndexFieldMapper;
|
||||
import org.elasticsearch.index.mapper.MappedFieldType;
|
||||
@ -123,7 +123,7 @@ public class QueryShardContextTests extends ESTestCase {
|
||||
IndexFieldData<?> forField = context.getForField(mapper.fieldType());
|
||||
String expected = clusterAlias == null ? context.getIndexSettings().getIndexMetaData().getIndex().getName()
|
||||
: clusterAlias + ":" + context.getIndexSettings().getIndex().getName();
|
||||
assertEquals(expected, ((AbstractAtomicOrdinalsFieldData)forField.load(null)).getOrdinalsValues().lookupOrd(0).utf8ToString());
|
||||
assertEquals(expected, ((AbstractLeafOrdinalsFieldData)forField.load(null)).getOrdinalsValues().lookupOrd(0).utf8ToString());
|
||||
}
|
||||
|
||||
public void testGetFullyQualifiedIndex() {
|
||||
|
@ -54,8 +54,8 @@ import org.elasticsearch.common.lucene.search.function.ScoreFunction;
|
||||
import org.elasticsearch.common.lucene.search.function.WeightFactorFunction;
|
||||
import org.elasticsearch.common.util.BigArrays;
|
||||
import org.elasticsearch.index.Index;
|
||||
import org.elasticsearch.index.fielddata.AtomicFieldData;
|
||||
import org.elasticsearch.index.fielddata.AtomicNumericFieldData;
|
||||
import org.elasticsearch.index.fielddata.LeafFieldData;
|
||||
import org.elasticsearch.index.fielddata.LeafNumericFieldData;
|
||||
import org.elasticsearch.index.fielddata.IndexFieldData;
|
||||
import org.elasticsearch.index.fielddata.IndexFieldData.XFieldComparatorSource.Nested;
|
||||
import org.elasticsearch.index.fielddata.IndexNumericFieldData;
|
||||
@ -87,15 +87,15 @@ public class FunctionScoreTests extends ESTestCase {
|
||||
/**
|
||||
* Stub for IndexFieldData. Needed by some score functions. Returns 1 as count always.
|
||||
*/
|
||||
private static class IndexFieldDataStub implements IndexFieldData<AtomicFieldData> {
|
||||
private static class IndexFieldDataStub implements IndexFieldData<LeafFieldData> {
|
||||
@Override
|
||||
public String getFieldName() {
|
||||
return "test";
|
||||
}
|
||||
|
||||
@Override
|
||||
public AtomicFieldData load(LeafReaderContext context) {
|
||||
return new AtomicFieldData() {
|
||||
public LeafFieldData load(LeafReaderContext context) {
|
||||
return new LeafFieldData() {
|
||||
|
||||
@Override
|
||||
public ScriptDocValues getScriptValues() {
|
||||
@ -139,7 +139,7 @@ public class FunctionScoreTests extends ESTestCase {
|
||||
}
|
||||
|
||||
@Override
|
||||
public AtomicFieldData loadDirect(LeafReaderContext context) throws Exception {
|
||||
public LeafFieldData loadDirect(LeafReaderContext context) throws Exception {
|
||||
throw new UnsupportedOperationException(UNSUPPORTED);
|
||||
}
|
||||
|
||||
@ -182,8 +182,8 @@ public class FunctionScoreTests extends ESTestCase {
|
||||
}
|
||||
|
||||
@Override
|
||||
public AtomicNumericFieldData load(LeafReaderContext context) {
|
||||
return new AtomicNumericFieldData() {
|
||||
public LeafNumericFieldData load(LeafReaderContext context) {
|
||||
return new LeafNumericFieldData() {
|
||||
@Override
|
||||
public SortedNumericDocValues getLongValues() {
|
||||
throw new UnsupportedOperationException(UNSUPPORTED);
|
||||
@ -236,7 +236,7 @@ public class FunctionScoreTests extends ESTestCase {
|
||||
}
|
||||
|
||||
@Override
|
||||
public AtomicNumericFieldData loadDirect(LeafReaderContext context) throws Exception {
|
||||
public LeafNumericFieldData loadDirect(LeafReaderContext context) throws Exception {
|
||||
throw new UnsupportedOperationException(UNSUPPORTED);
|
||||
}
|
||||
|
||||
|
@ -18,7 +18,7 @@
|
||||
*/
|
||||
package org.elasticsearch.search.lookup;
|
||||
|
||||
import org.elasticsearch.index.fielddata.AtomicFieldData;
|
||||
import org.elasticsearch.index.fielddata.LeafFieldData;
|
||||
import org.elasticsearch.index.fielddata.IndexFieldData;
|
||||
import org.elasticsearch.index.fielddata.ScriptDocValues;
|
||||
import org.elasticsearch.index.mapper.MappedFieldType;
|
||||
@ -76,12 +76,12 @@ public class LeafDocLookupTests extends ESTestCase {
|
||||
}
|
||||
|
||||
private IndexFieldData<?> createFieldData(ScriptDocValues scriptDocValues) {
|
||||
AtomicFieldData atomicFieldData = mock(AtomicFieldData.class);
|
||||
doReturn(scriptDocValues).when(atomicFieldData).getScriptValues();
|
||||
LeafFieldData leafFieldData = mock(LeafFieldData.class);
|
||||
doReturn(scriptDocValues).when(leafFieldData).getScriptValues();
|
||||
|
||||
IndexFieldData<?> fieldData = mock(IndexFieldData.class);
|
||||
when(fieldData.getFieldName()).thenReturn("field");
|
||||
doReturn(atomicFieldData).when(fieldData).load(anyObject());
|
||||
doReturn(leafFieldData).when(fieldData).load(anyObject());
|
||||
|
||||
return fieldData;
|
||||
}
|
||||
|
@ -30,7 +30,7 @@ import org.elasticsearch.common.xcontent.XContentParser;
|
||||
import org.elasticsearch.common.xcontent.XContentSubParser;
|
||||
import org.elasticsearch.common.xcontent.support.XContentMapValues;
|
||||
import org.elasticsearch.index.IndexSettings;
|
||||
import org.elasticsearch.index.fielddata.AtomicHistogramFieldData;
|
||||
import org.elasticsearch.index.fielddata.LeafHistogramFieldData;
|
||||
import org.elasticsearch.index.fielddata.HistogramValue;
|
||||
import org.elasticsearch.index.fielddata.HistogramValues;
|
||||
import org.elasticsearch.index.fielddata.IndexFieldData;
|
||||
@ -202,8 +202,8 @@ public class HistogramFieldMapper extends FieldMapper {
|
||||
return new IndexHistogramFieldData(indexSettings.getIndex(), fieldType.name()) {
|
||||
|
||||
@Override
|
||||
public AtomicHistogramFieldData load(LeafReaderContext context) {
|
||||
return new AtomicHistogramFieldData() {
|
||||
public LeafHistogramFieldData load(LeafReaderContext context) {
|
||||
return new LeafHistogramFieldData() {
|
||||
@Override
|
||||
public HistogramValues getHistogramValues() throws IOException {
|
||||
try {
|
||||
@ -256,7 +256,7 @@ public class HistogramFieldMapper extends FieldMapper {
|
||||
}
|
||||
|
||||
@Override
|
||||
public AtomicHistogramFieldData loadDirect(LeafReaderContext context) throws Exception {
|
||||
public LeafHistogramFieldData loadDirect(LeafReaderContext context) throws Exception {
|
||||
return load(context);
|
||||
}
|
||||
|
||||
|
@ -31,13 +31,13 @@ import org.elasticsearch.index.Index;
|
||||
import org.elasticsearch.index.IndexSettings;
|
||||
import org.elasticsearch.index.analysis.AnalyzerScope;
|
||||
import org.elasticsearch.index.analysis.NamedAnalyzer;
|
||||
import org.elasticsearch.index.fielddata.AtomicOrdinalsFieldData;
|
||||
import org.elasticsearch.index.fielddata.LeafOrdinalsFieldData;
|
||||
import org.elasticsearch.index.fielddata.IndexFieldData;
|
||||
import org.elasticsearch.index.fielddata.IndexFieldDataCache;
|
||||
import org.elasticsearch.index.fielddata.IndexOrdinalsFieldData;
|
||||
import org.elasticsearch.index.fielddata.IndexFieldData.XFieldComparatorSource.Nested;
|
||||
import org.elasticsearch.index.fielddata.fieldcomparator.BytesRefFieldComparatorSource;
|
||||
import org.elasticsearch.index.fielddata.plain.AbstractAtomicOrdinalsFieldData;
|
||||
import org.elasticsearch.index.fielddata.plain.AbstractLeafOrdinalsFieldData;
|
||||
import org.elasticsearch.index.fielddata.plain.DocValuesIndexFieldData;
|
||||
import org.elasticsearch.index.fielddata.plain.SortedSetDVOrdinalsIndexFieldData;
|
||||
import org.elasticsearch.index.mapper.DynamicKeyFieldMapper;
|
||||
@ -402,15 +402,15 @@ public final class FlatObjectFieldMapper extends DynamicKeyFieldMapper {
|
||||
}
|
||||
|
||||
@Override
|
||||
public AtomicOrdinalsFieldData load(LeafReaderContext context) {
|
||||
AtomicOrdinalsFieldData fieldData = delegate.load(context);
|
||||
return new KeyedFlatObjectAtomicFieldData(key, fieldData);
|
||||
public LeafOrdinalsFieldData load(LeafReaderContext context) {
|
||||
LeafOrdinalsFieldData fieldData = delegate.load(context);
|
||||
return new KeyedFlatObjectLeafFieldData(key, fieldData);
|
||||
}
|
||||
|
||||
@Override
|
||||
public AtomicOrdinalsFieldData loadDirect(LeafReaderContext context) throws Exception {
|
||||
AtomicOrdinalsFieldData fieldData = delegate.loadDirect(context);
|
||||
return new KeyedFlatObjectAtomicFieldData(key, fieldData);
|
||||
public LeafOrdinalsFieldData loadDirect(LeafReaderContext context) throws Exception {
|
||||
LeafOrdinalsFieldData fieldData = delegate.loadDirect(context);
|
||||
return new KeyedFlatObjectLeafFieldData(key, fieldData);
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -456,7 +456,7 @@ public final class FlatObjectFieldMapper extends DynamicKeyFieldMapper {
|
||||
MapperService mapperService) {
|
||||
String fieldName = fieldType.name();
|
||||
IndexOrdinalsFieldData delegate = new SortedSetDVOrdinalsIndexFieldData(indexSettings,
|
||||
cache, fieldName, breakerService, AbstractAtomicOrdinalsFieldData.DEFAULT_SCRIPT_FUNCTION);
|
||||
cache, fieldName, breakerService, AbstractLeafOrdinalsFieldData.DEFAULT_SCRIPT_FUNCTION);
|
||||
return new KeyedFlatObjectFieldData(key, delegate);
|
||||
}
|
||||
}
|
||||
|
@ -11,11 +11,11 @@ import org.apache.lucene.index.SortedSetDocValues;
|
||||
import org.apache.lucene.util.Accountable;
|
||||
import org.apache.lucene.util.BytesRef;
|
||||
import org.elasticsearch.index.fielddata.AbstractSortedSetDocValues;
|
||||
import org.elasticsearch.index.fielddata.AtomicOrdinalsFieldData;
|
||||
import org.elasticsearch.index.fielddata.LeafOrdinalsFieldData;
|
||||
import org.elasticsearch.index.fielddata.FieldData;
|
||||
import org.elasticsearch.index.fielddata.ScriptDocValues;
|
||||
import org.elasticsearch.index.fielddata.SortedBinaryDocValues;
|
||||
import org.elasticsearch.index.fielddata.plain.AbstractAtomicOrdinalsFieldData;
|
||||
import org.elasticsearch.index.fielddata.plain.AbstractLeafOrdinalsFieldData;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.UncheckedIOException;
|
||||
@ -30,13 +30,13 @@ import java.util.Collection;
|
||||
* In order to support all usage patterns, the delegate's ordinal values are shifted
|
||||
* to range from 0 to the number of total values.
|
||||
*/
|
||||
public class KeyedFlatObjectAtomicFieldData implements AtomicOrdinalsFieldData {
|
||||
public class KeyedFlatObjectLeafFieldData implements LeafOrdinalsFieldData {
|
||||
|
||||
private final String key;
|
||||
private final AtomicOrdinalsFieldData delegate;
|
||||
private final LeafOrdinalsFieldData delegate;
|
||||
|
||||
KeyedFlatObjectAtomicFieldData(String key,
|
||||
AtomicOrdinalsFieldData delegate) {
|
||||
KeyedFlatObjectLeafFieldData(String key,
|
||||
LeafOrdinalsFieldData delegate) {
|
||||
this.key = key;
|
||||
this.delegate = delegate;
|
||||
}
|
||||
@ -78,7 +78,7 @@ public class KeyedFlatObjectAtomicFieldData implements AtomicOrdinalsFieldData {
|
||||
|
||||
@Override
|
||||
public ScriptDocValues<?> getScriptValues() {
|
||||
return AbstractAtomicOrdinalsFieldData.DEFAULT_SCRIPT_FUNCTION
|
||||
return AbstractLeafOrdinalsFieldData.DEFAULT_SCRIPT_FUNCTION
|
||||
.apply(getOrdinalsValues());
|
||||
}
|
||||
|
@ -8,7 +8,7 @@ package org.elasticsearch.index.mapper;
|
||||
|
||||
import org.elasticsearch.Version;
|
||||
import org.elasticsearch.common.settings.Settings;
|
||||
import org.elasticsearch.index.fielddata.AtomicFieldData;
|
||||
import org.elasticsearch.index.fielddata.LeafFieldData;
|
||||
import org.elasticsearch.index.fielddata.IndexFieldData;
|
||||
import org.elasticsearch.index.fielddata.ScriptDocValues;
|
||||
import org.elasticsearch.search.lookup.LeafDocLookup;
|
||||
@ -175,12 +175,12 @@ public class FlatObjectFieldLookupTests extends ESTestCase {
|
||||
}
|
||||
|
||||
private IndexFieldData<?> createFieldData(ScriptDocValues<?> scriptDocValues) {
|
||||
AtomicFieldData atomicFieldData = mock(AtomicFieldData.class);
|
||||
doReturn(scriptDocValues).when(atomicFieldData).getScriptValues();
|
||||
LeafFieldData leafFieldData = mock(LeafFieldData.class);
|
||||
doReturn(scriptDocValues).when(leafFieldData).getScriptValues();
|
||||
|
||||
IndexFieldData<?> fieldData = mock(IndexFieldData.class);
|
||||
when(fieldData.getFieldName()).thenReturn("field");
|
||||
doReturn(atomicFieldData).when(fieldData).load(anyObject());
|
||||
doReturn(leafFieldData).when(fieldData).load(anyObject());
|
||||
|
||||
return fieldData;
|
||||
}
|
||||
|
@ -9,8 +9,8 @@ package org.elasticsearch.xpack.flattened.mapper;
|
||||
import org.apache.lucene.index.SortedSetDocValues;
|
||||
import org.apache.lucene.util.BytesRef;
|
||||
import org.elasticsearch.index.fielddata.AbstractSortedSetDocValues;
|
||||
import org.elasticsearch.index.fielddata.AtomicOrdinalsFieldData;
|
||||
import org.elasticsearch.index.fielddata.plain.AbstractAtomicOrdinalsFieldData;
|
||||
import org.elasticsearch.index.fielddata.LeafOrdinalsFieldData;
|
||||
import org.elasticsearch.index.fielddata.plain.AbstractLeafOrdinalsFieldData;
|
||||
import org.elasticsearch.test.ESTestCase;
|
||||
import org.junit.Before;
|
||||
|
||||
@ -18,8 +18,8 @@ import java.io.IOException;
|
||||
|
||||
import static org.apache.lucene.index.SortedSetDocValues.NO_MORE_ORDS;
|
||||
|
||||
public class KeyedFlatObjectAtomicFieldDataTests extends ESTestCase {
|
||||
private AtomicOrdinalsFieldData delegate;
|
||||
public class KeyedFlatObjectLeafFieldDataTests extends ESTestCase {
|
||||
private LeafOrdinalsFieldData delegate;
|
||||
|
||||
@Before
|
||||
public void setUpDelegate() {
|
||||
@ -49,7 +49,7 @@ public class KeyedFlatObjectAtomicFieldDataTests extends ESTestCase {
|
||||
}
|
||||
}
|
||||
|
||||
delegate = new MockAtomicOrdinalsFieldData(allTerms, documentOrds);
|
||||
delegate = new MockLeafOrdinalsFieldData(allTerms, documentOrds);
|
||||
}
|
||||
|
||||
private BytesRef prefixedValue(String key, String value) {
|
||||
@ -65,11 +65,11 @@ public class KeyedFlatObjectAtomicFieldDataTests extends ESTestCase {
|
||||
testFindOrdinalBounds("cantaloupe", delegate, 40, 40);
|
||||
testFindOrdinalBounds("cucumber", delegate, 41, 59);
|
||||
|
||||
AtomicOrdinalsFieldData emptyDelegate = new MockAtomicOrdinalsFieldData(new BytesRef[0], new long[0]);
|
||||
LeafOrdinalsFieldData emptyDelegate = new MockLeafOrdinalsFieldData(new BytesRef[0], new long[0]);
|
||||
testFindOrdinalBounds("apple", emptyDelegate, -1, -1);
|
||||
|
||||
BytesRef[] terms = new BytesRef[] { prefixedValue("prefix", "value") };
|
||||
AtomicOrdinalsFieldData singleValueDelegate = new MockAtomicOrdinalsFieldData(terms, new long[0]);
|
||||
LeafOrdinalsFieldData singleValueDelegate = new MockLeafOrdinalsFieldData(terms, new long[0]);
|
||||
testFindOrdinalBounds("prefix", singleValueDelegate, 0, 0);
|
||||
testFindOrdinalBounds("prefix1", singleValueDelegate, -1, -1);
|
||||
|
||||
@ -78,7 +78,7 @@ public class KeyedFlatObjectAtomicFieldDataTests extends ESTestCase {
|
||||
prefixedValue("prefix1", "value1"),
|
||||
prefixedValue("prefix2", "value"),
|
||||
prefixedValue("prefix3", "value")};
|
||||
AtomicOrdinalsFieldData oddLengthDelegate = new MockAtomicOrdinalsFieldData(terms, new long[0]);
|
||||
LeafOrdinalsFieldData oddLengthDelegate = new MockLeafOrdinalsFieldData(terms, new long[0]);
|
||||
testFindOrdinalBounds("prefix", oddLengthDelegate, 0, 0);
|
||||
testFindOrdinalBounds("prefix1", oddLengthDelegate, 1, 2);
|
||||
testFindOrdinalBounds("prefix2", oddLengthDelegate, 3, 3);
|
||||
@ -86,31 +86,31 @@ public class KeyedFlatObjectAtomicFieldDataTests extends ESTestCase {
|
||||
}
|
||||
|
||||
public void testFindOrdinalBounds(String key,
|
||||
AtomicOrdinalsFieldData delegate,
|
||||
LeafOrdinalsFieldData delegate,
|
||||
long expectedMinOrd,
|
||||
long expectedMacOrd) throws IOException {
|
||||
BytesRef bytesKey = new BytesRef(key);
|
||||
|
||||
long actualMinOrd = KeyedFlatObjectAtomicFieldData.findMinOrd(bytesKey, delegate.getOrdinalsValues());
|
||||
long actualMinOrd = KeyedFlatObjectLeafFieldData.findMinOrd(bytesKey, delegate.getOrdinalsValues());
|
||||
assertEquals(expectedMinOrd, actualMinOrd);
|
||||
|
||||
long actualMaxOrd = KeyedFlatObjectAtomicFieldData.findMaxOrd(bytesKey, delegate.getOrdinalsValues());
|
||||
long actualMaxOrd = KeyedFlatObjectLeafFieldData.findMaxOrd(bytesKey, delegate.getOrdinalsValues());
|
||||
assertEquals(expectedMacOrd, actualMaxOrd);
|
||||
}
|
||||
|
||||
public void testAdvanceExact() throws IOException {
|
||||
AtomicOrdinalsFieldData avocadoFieldData = new KeyedFlatObjectAtomicFieldData("avocado", delegate);
|
||||
LeafOrdinalsFieldData avocadoFieldData = new KeyedFlatObjectLeafFieldData("avocado", delegate);
|
||||
assertFalse(avocadoFieldData.getOrdinalsValues().advanceExact(0));
|
||||
|
||||
AtomicOrdinalsFieldData bananaFieldData = new KeyedFlatObjectAtomicFieldData("banana", delegate);
|
||||
LeafOrdinalsFieldData bananaFieldData = new KeyedFlatObjectLeafFieldData("banana", delegate);
|
||||
assertTrue(bananaFieldData.getOrdinalsValues().advanceExact(0));
|
||||
|
||||
AtomicOrdinalsFieldData nonexistentFieldData = new KeyedFlatObjectAtomicFieldData("berry", delegate);
|
||||
LeafOrdinalsFieldData nonexistentFieldData = new KeyedFlatObjectLeafFieldData("berry", delegate);
|
||||
assertFalse(nonexistentFieldData.getOrdinalsValues().advanceExact(0));
|
||||
}
|
||||
|
||||
public void testNextOrd() throws IOException {
|
||||
AtomicOrdinalsFieldData fieldData = new KeyedFlatObjectAtomicFieldData("banana", delegate);
|
||||
LeafOrdinalsFieldData fieldData = new KeyedFlatObjectLeafFieldData("banana", delegate);
|
||||
SortedSetDocValues docValues = fieldData.getOrdinalsValues();
|
||||
docValues.advanceExact(0);
|
||||
|
||||
@ -128,25 +128,25 @@ public class KeyedFlatObjectAtomicFieldDataTests extends ESTestCase {
|
||||
}
|
||||
|
||||
public void testLookupOrd() throws IOException {
|
||||
AtomicOrdinalsFieldData appleFieldData = new KeyedFlatObjectAtomicFieldData("apple", delegate);
|
||||
LeafOrdinalsFieldData appleFieldData = new KeyedFlatObjectLeafFieldData("apple", delegate);
|
||||
SortedSetDocValues appleDocValues = appleFieldData.getOrdinalsValues();
|
||||
assertEquals(new BytesRef("value0"), appleDocValues.lookupOrd(0));
|
||||
|
||||
AtomicOrdinalsFieldData cantaloupeFieldData = new KeyedFlatObjectAtomicFieldData("cantaloupe", delegate);
|
||||
LeafOrdinalsFieldData cantaloupeFieldData = new KeyedFlatObjectLeafFieldData("cantaloupe", delegate);
|
||||
SortedSetDocValues cantaloupeDocValues = cantaloupeFieldData.getOrdinalsValues();
|
||||
assertEquals(new BytesRef("value40"), cantaloupeDocValues.lookupOrd(0));
|
||||
|
||||
AtomicOrdinalsFieldData cucumberFieldData = new KeyedFlatObjectAtomicFieldData("cucumber", delegate);
|
||||
LeafOrdinalsFieldData cucumberFieldData = new KeyedFlatObjectLeafFieldData("cucumber", delegate);
|
||||
SortedSetDocValues cucumberDocValues = cucumberFieldData.getOrdinalsValues();
|
||||
assertEquals(new BytesRef("value41"), cucumberDocValues.lookupOrd(0));
|
||||
}
|
||||
|
||||
private static class MockAtomicOrdinalsFieldData extends AbstractAtomicOrdinalsFieldData {
|
||||
private static class MockLeafOrdinalsFieldData extends AbstractLeafOrdinalsFieldData {
|
||||
private final SortedSetDocValues docValues;
|
||||
|
||||
MockAtomicOrdinalsFieldData(BytesRef[] allTerms,
|
||||
long[] documentOrds) {
|
||||
super(AbstractAtomicOrdinalsFieldData.DEFAULT_SCRIPT_FUNCTION);
|
||||
MockLeafOrdinalsFieldData(BytesRef[] allTerms,
|
||||
long[] documentOrds) {
|
||||
super(AbstractLeafOrdinalsFieldData.DEFAULT_SCRIPT_FUNCTION);
|
||||
this.docValues = new MockSortedSetDocValues(allTerms, documentOrds);
|
||||
}
|
||||
|
@ -23,12 +23,12 @@ import org.elasticsearch.cluster.metadata.IndexMetaData;
|
||||
import org.elasticsearch.common.lucene.index.ElasticsearchDirectoryReader;
|
||||
import org.elasticsearch.common.settings.Settings;
|
||||
import org.elasticsearch.index.IndexSettings;
|
||||
import org.elasticsearch.index.fielddata.AtomicFieldData;
|
||||
import org.elasticsearch.index.fielddata.AtomicOrdinalsFieldData;
|
||||
import org.elasticsearch.index.fielddata.LeafFieldData;
|
||||
import org.elasticsearch.index.fielddata.LeafOrdinalsFieldData;
|
||||
import org.elasticsearch.index.fielddata.IndexFieldData;
|
||||
import org.elasticsearch.index.fielddata.IndexFieldDataCache;
|
||||
import org.elasticsearch.index.fielddata.IndexOrdinalsFieldData;
|
||||
import org.elasticsearch.index.fielddata.plain.AbstractAtomicOrdinalsFieldData;
|
||||
import org.elasticsearch.index.fielddata.plain.AbstractLeafOrdinalsFieldData;
|
||||
import org.elasticsearch.index.fielddata.plain.PagedBytesIndexFieldData;
|
||||
import org.elasticsearch.index.fielddata.plain.SortedSetDVOrdinalsIndexFieldData;
|
||||
import org.elasticsearch.index.mapper.TextFieldMapper;
|
||||
@ -61,7 +61,7 @@ public class FieldDataCacheWithFieldSubsetReaderTests extends ESTestCase {
|
||||
String name = "_field";
|
||||
indexFieldDataCache = new DummyAccountingFieldDataCache();
|
||||
sortedSetDVOrdinalsIndexFieldData = new SortedSetDVOrdinalsIndexFieldData(indexSettings,indexFieldDataCache, name,
|
||||
circuitBreakerService, AbstractAtomicOrdinalsFieldData.DEFAULT_SCRIPT_FUNCTION);
|
||||
circuitBreakerService, AbstractLeafOrdinalsFieldData.DEFAULT_SCRIPT_FUNCTION);
|
||||
pagedBytesIndexFieldData = new PagedBytesIndexFieldData(indexSettings, name, indexFieldDataCache,
|
||||
circuitBreakerService, TextFieldMapper.Defaults.FIELDDATA_MIN_FREQUENCY,
|
||||
TextFieldMapper.Defaults.FIELDDATA_MAX_FREQUENCY,
|
||||
@ -95,7 +95,7 @@ public class FieldDataCacheWithFieldSubsetReaderTests extends ESTestCase {
|
||||
public void testSortedSetDVOrdinalsIndexFieldData_global() throws Exception {
|
||||
assertThat(indexFieldDataCache.topLevelBuilds, equalTo(0));
|
||||
IndexOrdinalsFieldData global = sortedSetDVOrdinalsIndexFieldData.loadGlobal(ir);
|
||||
AtomicOrdinalsFieldData atomic = global.load(ir.leaves().get(0));
|
||||
LeafOrdinalsFieldData atomic = global.load(ir.leaves().get(0));
|
||||
assertThat(atomic.getOrdinalsValues().getValueCount(), equalTo(numDocs));
|
||||
assertThat(indexFieldDataCache.topLevelBuilds, equalTo(1));
|
||||
|
||||
@ -108,13 +108,13 @@ public class FieldDataCacheWithFieldSubsetReaderTests extends ESTestCase {
|
||||
|
||||
public void testSortedSetDVOrdinalsIndexFieldData_segment() throws Exception {
|
||||
for (LeafReaderContext context : ir.leaves()) {
|
||||
AtomicOrdinalsFieldData atomic = sortedSetDVOrdinalsIndexFieldData.load(context);
|
||||
LeafOrdinalsFieldData atomic = sortedSetDVOrdinalsIndexFieldData.load(context);
|
||||
assertThat(atomic.getOrdinalsValues().getValueCount(), greaterThanOrEqualTo(1L));
|
||||
}
|
||||
|
||||
DirectoryReader ir = FieldSubsetReader.wrap(this.ir, new CharacterRunAutomaton(Automata.makeEmpty()));
|
||||
for (LeafReaderContext context : ir.leaves()) {
|
||||
AtomicOrdinalsFieldData atomic = sortedSetDVOrdinalsIndexFieldData.load(context);
|
||||
LeafOrdinalsFieldData atomic = sortedSetDVOrdinalsIndexFieldData.load(context);
|
||||
assertThat(atomic.getOrdinalsValues().getValueCount(), equalTo(0L));
|
||||
}
|
||||
// dv based field data doesn't use index field data cache, so in the end noting should have been added
|
||||
@ -124,7 +124,7 @@ public class FieldDataCacheWithFieldSubsetReaderTests extends ESTestCase {
|
||||
public void testPagedBytesIndexFieldData_global() throws Exception {
|
||||
assertThat(indexFieldDataCache.topLevelBuilds, equalTo(0));
|
||||
IndexOrdinalsFieldData global = pagedBytesIndexFieldData.loadGlobal(ir);
|
||||
AtomicOrdinalsFieldData atomic = global.load(ir.leaves().get(0));
|
||||
LeafOrdinalsFieldData atomic = global.load(ir.leaves().get(0));
|
||||
assertThat(atomic.getOrdinalsValues().getValueCount(), equalTo(numDocs));
|
||||
assertThat(indexFieldDataCache.topLevelBuilds, equalTo(1));
|
||||
|
||||
@ -138,14 +138,14 @@ public class FieldDataCacheWithFieldSubsetReaderTests extends ESTestCase {
|
||||
public void testPagedBytesIndexFieldData_segment() throws Exception {
|
||||
assertThat(indexFieldDataCache.leafLevelBuilds, equalTo(0));
|
||||
for (LeafReaderContext context : ir.leaves()) {
|
||||
AtomicOrdinalsFieldData atomic = pagedBytesIndexFieldData.load(context);
|
||||
LeafOrdinalsFieldData atomic = pagedBytesIndexFieldData.load(context);
|
||||
assertThat(atomic.getOrdinalsValues().getValueCount(), greaterThanOrEqualTo(1L));
|
||||
}
|
||||
assertThat(indexFieldDataCache.leafLevelBuilds, equalTo(ir.leaves().size()));
|
||||
|
||||
DirectoryReader ir = FieldSubsetReader.wrap(this.ir, new CharacterRunAutomaton(Automata.makeEmpty()));
|
||||
for (LeafReaderContext context : ir.leaves()) {
|
||||
AtomicOrdinalsFieldData atomic = pagedBytesIndexFieldData.load(context);
|
||||
LeafOrdinalsFieldData atomic = pagedBytesIndexFieldData.load(context);
|
||||
assertThat(atomic.getOrdinalsValues().getValueCount(), equalTo(0L));
|
||||
}
|
||||
assertThat(indexFieldDataCache.leafLevelBuilds, equalTo(ir.leaves().size()));
|
||||
@ -168,15 +168,15 @@ public class FieldDataCacheWithFieldSubsetReaderTests extends ESTestCase {
|
||||
private int topLevelBuilds = 0;
|
||||
|
||||
@Override
|
||||
public <FD extends AtomicFieldData, IFD extends IndexFieldData<FD>> FD load(LeafReaderContext context, IFD indexFieldData)
|
||||
public <FD extends LeafFieldData, IFD extends IndexFieldData<FD>> FD load(LeafReaderContext context, IFD indexFieldData)
|
||||
throws Exception {
|
||||
leafLevelBuilds++;
|
||||
return indexFieldData.loadDirect(context);
|
||||
}
|
||||
|
||||
@Override
|
||||
public <FD extends AtomicFieldData, IFD extends IndexFieldData.Global<FD>> IFD load(DirectoryReader indexReader,
|
||||
IFD indexFieldData) throws Exception {
|
||||
public <FD extends LeafFieldData, IFD extends IndexFieldData.Global<FD>> IFD load(DirectoryReader indexReader,
|
||||
IFD indexFieldData) throws Exception {
|
||||
topLevelBuilds++;
|
||||
return (IFD) indexFieldData.localGlobalDirect(indexReader);
|
||||
}
|
||||
|
@ -26,7 +26,7 @@ import org.elasticsearch.search.sort.BucketedSort;
|
||||
import org.elasticsearch.search.sort.SortOrder;
|
||||
|
||||
|
||||
public class VectorDVIndexFieldData extends DocValuesIndexFieldData implements IndexFieldData<VectorDVAtomicFieldData> {
|
||||
public class VectorDVIndexFieldData extends DocValuesIndexFieldData implements IndexFieldData<VectorDVLeafFieldData> {
|
||||
private final boolean isDense;
|
||||
|
||||
public VectorDVIndexFieldData(Index index, String fieldName, boolean isDense) {
|
||||
@ -46,12 +46,12 @@ public class VectorDVIndexFieldData extends DocValuesIndexFieldData implements I
|
||||
}
|
||||
|
||||
@Override
|
||||
public VectorDVAtomicFieldData load(LeafReaderContext context) {
|
||||
return new VectorDVAtomicFieldData(context.reader(), fieldName, isDense);
|
||||
public VectorDVLeafFieldData load(LeafReaderContext context) {
|
||||
return new VectorDVLeafFieldData(context.reader(), fieldName, isDense);
|
||||
}
|
||||
|
||||
@Override
|
||||
public VectorDVAtomicFieldData loadDirect(LeafReaderContext context) throws Exception {
|
||||
public VectorDVLeafFieldData loadDirect(LeafReaderContext context) {
|
||||
return load(context);
|
||||
}
|
||||
|
||||
|
@ -12,7 +12,7 @@ import org.apache.lucene.index.DocValues;
|
||||
import org.apache.lucene.index.LeafReader;
|
||||
import org.apache.lucene.util.Accountable;
|
||||
import org.apache.lucene.util.BytesRef;
|
||||
import org.elasticsearch.index.fielddata.AtomicFieldData;
|
||||
import org.elasticsearch.index.fielddata.LeafFieldData;
|
||||
import org.elasticsearch.index.fielddata.ScriptDocValues;
|
||||
import org.elasticsearch.index.fielddata.SortedBinaryDocValues;
|
||||
|
||||
@ -20,13 +20,13 @@ import java.io.IOException;
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
|
||||
final class VectorDVAtomicFieldData implements AtomicFieldData {
|
||||
final class VectorDVLeafFieldData implements LeafFieldData {
|
||||
|
||||
private final LeafReader reader;
|
||||
private final String field;
|
||||
private final boolean isDense;
|
||||
|
||||
VectorDVAtomicFieldData(LeafReader reader, String field, boolean isDense) {
|
||||
VectorDVLeafFieldData(LeafReader reader, String field, boolean isDense) {
|
||||
this.reader = reader;
|
||||
this.field = field;
|
||||
this.isDense = isDense;
|
Loading…
x
Reference in New Issue
Block a user