Class GlobalOrdinalsIndexFieldData.Consumer
java.lang.Object
org.elasticsearch.index.fielddata.ordinals.GlobalOrdinalsIndexFieldData.Consumer
- All Implemented Interfaces:
org.apache.lucene.util.Accountable
,IndexFieldData<LeafOrdinalsFieldData>
,IndexFieldData.Global<LeafOrdinalsFieldData>
,IndexOrdinalsFieldData
- Enclosing class:
- GlobalOrdinalsIndexFieldData
public class GlobalOrdinalsIndexFieldData.Consumer
extends Object
implements IndexOrdinalsFieldData, org.apache.lucene.util.Accountable
A non-thread safe
IndexOrdinalsFieldData
for global ordinals that creates the TermsEnum
of each
segment once and use them to provide a single lookup per segment.-
Nested Class Summary
Nested classes/interfaces inherited from interface org.elasticsearch.index.fielddata.IndexFieldData
IndexFieldData.Builder, IndexFieldData.Global<FD extends LeafFieldData>, IndexFieldData.XFieldComparatorSource
-
Field Summary
Fields inherited from interface org.apache.lucene.util.Accountable
NULL_ACCOUNTABLE
-
Method Summary
Modifier and TypeMethodDescriptionCollection<org.apache.lucene.util.Accountable>
The field name.org.apache.lucene.index.OrdinalMap
Returns the underlyingOrdinalMap
for this fielddata or null if global ordinals are not needed (constant value or single segment).The ValuesSourceType of the underlying data.load(org.apache.lucene.index.LeafReaderContext context)
Loads the atomic field data for the reader, possibly cached.loadDirect(org.apache.lucene.index.LeafReaderContext context)
Loads directly the atomic field data for the reader, ignoring any caching involved.loadGlobal(org.apache.lucene.index.DirectoryReader indexReader)
Load a global view of the ordinals for the givenIndexReader
, potentially from a cache.loadGlobalDirect(org.apache.lucene.index.DirectoryReader indexReader)
Load a global view of the ordinals for the givenIndexReader
.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.long
org.apache.lucene.search.SortField
sortField(Object missingValue, MultiValueMode sortMode, IndexFieldData.XFieldComparatorSource.Nested nested, boolean reverse)
Returns theSortField
to use for sorting.boolean
Whether this field data is able to provide a mapping between global and segment ordinals, by returning the underlyingOrdinalMap
.
-
Method Details
-
loadDirect
public LeafOrdinalsFieldData loadDirect(org.apache.lucene.index.LeafReaderContext context) throws ExceptionDescription copied from interface:IndexFieldData
Loads directly the atomic field data for the reader, ignoring any caching involved.- Specified by:
loadDirect
in interfaceIndexFieldData<LeafOrdinalsFieldData>
- Throws:
Exception
-
loadGlobal
Description copied from interface:IndexOrdinalsFieldData
Load a global view of the ordinals for the givenIndexReader
, potentially from a cache.- Specified by:
loadGlobal
in interfaceIndexFieldData.Global<LeafOrdinalsFieldData>
- Specified by:
loadGlobal
in interfaceIndexOrdinalsFieldData
-
loadGlobalDirect
public IndexOrdinalsFieldData loadGlobalDirect(org.apache.lucene.index.DirectoryReader indexReader) throws ExceptionDescription copied from interface:IndexOrdinalsFieldData
Load a global view of the ordinals for the givenIndexReader
.- Specified by:
loadGlobalDirect
in interfaceIndexFieldData.Global<LeafOrdinalsFieldData>
- Specified by:
loadGlobalDirect
in interfaceIndexOrdinalsFieldData
- Throws:
Exception
-
getFieldName
Description copied from interface:IndexFieldData
The field name.- Specified by:
getFieldName
in interfaceIndexFieldData<LeafOrdinalsFieldData>
-
getValuesSourceType
Description copied from interface:IndexFieldData
The ValuesSourceType of the underlying data. It's possible for fields that use the same IndexFieldData implementation to have different ValuesSourceTypes, such as in the case of Longs and Dates.- Specified by:
getValuesSourceType
in interfaceIndexFieldData<LeafOrdinalsFieldData>
-
sortField
public org.apache.lucene.search.SortField sortField(@Nullable 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<LeafOrdinalsFieldData>
-
newBucketedSort
public BucketedSort newBucketedSort(BigArrays bigArrays, 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<LeafOrdinalsFieldData>
-
ramBytesUsed
public long ramBytesUsed()- Specified by:
ramBytesUsed
in interfaceorg.apache.lucene.util.Accountable
-
getChildResources
- Specified by:
getChildResources
in interfaceorg.apache.lucene.util.Accountable
-
load
Description copied from interface:IndexFieldData
Loads the atomic field data for the reader, possibly cached.- Specified by:
load
in interfaceIndexFieldData<LeafOrdinalsFieldData>
-
supportsGlobalOrdinalsMapping
public boolean supportsGlobalOrdinalsMapping()Description copied from interface:IndexOrdinalsFieldData
Whether this field data is able to provide a mapping between global and segment ordinals, by returning the underlyingOrdinalMap
. If this method returns false, then callingIndexOrdinalsFieldData.getOrdinalMap()
will result in anUnsupportedOperationException
.- Specified by:
supportsGlobalOrdinalsMapping
in interfaceIndexOrdinalsFieldData
-
getOrdinalMap
public org.apache.lucene.index.OrdinalMap getOrdinalMap()Description copied from interface:IndexOrdinalsFieldData
Returns the underlyingOrdinalMap
for this fielddata or null if global ordinals are not needed (constant value or single segment).- Specified by:
getOrdinalMap
in interfaceIndexOrdinalsFieldData
-