Module org.elasticsearch.server
Class IndexNumericFieldData
java.lang.Object
org.elasticsearch.index.fielddata.IndexNumericFieldData
- All Implemented Interfaces:
IndexFieldData<LeafNumericFieldData>
- Direct Known Subclasses:
BooleanScriptFieldData
,DateScriptFieldData
,DoubleScriptFieldData
,LongScriptFieldData
,SortedDoublesIndexFieldData
,SortedNumericIndexFieldData
public abstract class IndexNumericFieldData
extends Object
implements IndexFieldData<LeafNumericFieldData>
Base class for numeric field data.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic enum
The type of number.Nested classes/interfaces inherited from interface org.elasticsearch.index.fielddata.IndexFieldData
IndexFieldData.Builder, IndexFieldData.Global<FD extends LeafFieldData>, IndexFieldData.XFieldComparatorSource
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected static org.apache.lucene.index.SortedNumericDocValues
convertNumeric
(org.apache.lucene.index.SortedNumericDocValues values, LongUnaryOperator converter) Convert the values indvs
using the providedconverter
.protected IndexFieldData.XFieldComparatorSource
dateComparatorSource
(Object missingValue, MultiValueMode sortMode, IndexFieldData.XFieldComparatorSource.Nested nested) protected IndexFieldData.XFieldComparatorSource
dateNanosComparatorSource
(Object missingValue, MultiValueMode sortMode, IndexFieldData.XFieldComparatorSource.Nested nested) abstract IndexNumericFieldData.NumericType
The numeric type of this number.protected abstract boolean
Return true if, and only if the field is indexed with points that match the content of doc values.final BucketedSort
newBucketedSort
(BigArrays bigArrays, Object missingValue, MultiValueMode sortMode, IndexFieldData.XFieldComparatorSource.Nested nested, SortOrder sortOrder, DocValueFormat format, int bucketSize, BucketedSort.ExtraData extra) Build a sort implementation specialized for aggregations.final BucketedSort
newBucketedSort
(IndexNumericFieldData.NumericType targetNumericType, BigArrays bigArrays, Object missingValue, MultiValueMode sortMode, IndexFieldData.XFieldComparatorSource.Nested nested, SortOrder sortOrder, DocValueFormat format, int bucketSize, BucketedSort.ExtraData extra) Builds a BucketedSort for thetargetNumericType
, casting the values if their native type doesn't match.final org.apache.lucene.search.SortField
sortField
(Object missingValue, MultiValueMode sortMode, IndexFieldData.XFieldComparatorSource.Nested nested, boolean reverse) Returns theSortField
to use for sorting.final org.apache.lucene.search.SortField
sortField
(IndexNumericFieldData.NumericType targetNumericType, Object missingValue, MultiValueMode sortMode, IndexFieldData.XFieldComparatorSource.Nested nested, boolean reverse) Returns theSortField
to used for sorting.protected abstract boolean
Should sorting use a custom comparator source vs.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.elasticsearch.index.fielddata.IndexFieldData
getFieldName, getValuesSourceType, load, loadDirect
-
Constructor Details
-
IndexNumericFieldData
public IndexNumericFieldData()
-
-
Method Details
-
getNumericType
The numeric type of this number. -
sortField
public final org.apache.lucene.search.SortField sortField(IndexNumericFieldData.NumericType targetNumericType, Object missingValue, MultiValueMode sortMode, IndexFieldData.XFieldComparatorSource.Nested nested, boolean reverse) Returns theSortField
to used for sorting. Values are casted to the providedtargetNumericType
type if it doesn't match the field'snumericType
. -
sortRequiresCustomComparator
protected abstract boolean sortRequiresCustomComparator()Should sorting use a custom comparator source vs. rely on a LuceneSortField
. Using a LuceneSortField
when possible is important because index sorting cannot be configured with a custom comparator, and because it gives better performance by dynamically pruning irrelevant hits. On the other hand, LuceneSortField
s are less flexible and make stronger assumptions about how the data is indexed. Therefore, they cannot be used in all cases. -
isIndexed
protected abstract boolean isIndexed()Return true if, and only if the field is indexed with points that match the content of doc values. -
sortField
public final org.apache.lucene.search.SortField sortField(Object missingValue, MultiValueMode sortMode, IndexFieldData.XFieldComparatorSource.Nested nested, boolean reverse) Description copied from interface:IndexFieldData
Returns theSortField
to use for sorting.- Specified by:
sortField
in interfaceIndexFieldData<LeafNumericFieldData>
-
newBucketedSort
public final BucketedSort newBucketedSort(IndexNumericFieldData.NumericType targetNumericType, BigArrays bigArrays, @Nullable Object missingValue, MultiValueMode sortMode, IndexFieldData.XFieldComparatorSource.Nested nested, SortOrder sortOrder, DocValueFormat format, int bucketSize, BucketedSort.ExtraData extra) Builds a BucketedSort for thetargetNumericType
, casting the values if their native type doesn't match. -
newBucketedSort
public final BucketedSort newBucketedSort(BigArrays bigArrays, @Nullable Object missingValue, MultiValueMode sortMode, IndexFieldData.XFieldComparatorSource.Nested nested, SortOrder sortOrder, DocValueFormat format, int bucketSize, BucketedSort.ExtraData extra) Description copied from interface:IndexFieldData
Build a sort implementation specialized for aggregations.- Specified by:
newBucketedSort
in interfaceIndexFieldData<LeafNumericFieldData>
-
dateComparatorSource
protected IndexFieldData.XFieldComparatorSource dateComparatorSource(@Nullable Object missingValue, MultiValueMode sortMode, IndexFieldData.XFieldComparatorSource.Nested nested) -
dateNanosComparatorSource
protected IndexFieldData.XFieldComparatorSource dateNanosComparatorSource(@Nullable Object missingValue, MultiValueMode sortMode, IndexFieldData.XFieldComparatorSource.Nested nested) -
convertNumeric
protected static org.apache.lucene.index.SortedNumericDocValues convertNumeric(org.apache.lucene.index.SortedNumericDocValues values, LongUnaryOperator converter) Convert the values indvs
using the providedconverter
.
-