Class AbstractIndexOrdinalsFieldData
java.lang.Object
org.opensearch.index.fielddata.plain.AbstractIndexOrdinalsFieldData
- All Implemented Interfaces:
IndexFieldData<LeafOrdinalsFieldData>
,IndexFieldData.Global<LeafOrdinalsFieldData>
,IndexOrdinalsFieldData
- Direct Known Subclasses:
ConstantIndexFieldData
,PagedBytesIndexFieldData
,SortedSetOrdinalsIndexFieldData
public abstract class AbstractIndexOrdinalsFieldData extends java.lang.Object implements IndexOrdinalsFieldData
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interface
AbstractIndexOrdinalsFieldData.PerValueEstimator
APerValueEstimator
is a sub-class that can be used to estimate the memory overhead for loading the data.Nested classes/interfaces inherited from interface org.opensearch.index.fielddata.IndexFieldData
IndexFieldData.Builder, IndexFieldData.Global<FD extends LeafFieldData>, IndexFieldData.XFieldComparatorSource
-
Field Summary
Fields Modifier and Type Field Description protected CircuitBreakerService
breakerService
protected java.util.function.Function<org.apache.lucene.index.SortedSetDocValues,ScriptDocValues<?>>
scriptFunction
-
Constructor Summary
Constructors Modifier Constructor Description protected
AbstractIndexOrdinalsFieldData(java.lang.String fieldName, ValuesSourceType valuesSourceType, IndexFieldDataCache cache, CircuitBreakerService breakerService, java.util.function.Function<org.apache.lucene.index.SortedSetDocValues,ScriptDocValues<?>> scriptFunction)
-
Method Summary
Modifier and Type Method Description java.lang.String
getFieldName()
The field name.org.apache.lucene.index.OrdinalMap
getOrdinalMap()
Returns the underlyingOrdinalMap
for this fielddata or null if global ordinals are not needed (constant value or single segment).ValuesSourceType
getValuesSourceType()
The ValuesSourceType of the underlying data.LeafOrdinalsFieldData
load(org.apache.lucene.index.LeafReaderContext context)
Loads the atomic field data for the reader, possibly cached.IndexOrdinalsFieldData
loadGlobal(org.apache.lucene.index.DirectoryReader indexReader)
Load a global view of the ordinals for the givenIndexReader
, potentially from a cache.IndexOrdinalsFieldData
loadGlobalDirect(org.apache.lucene.index.DirectoryReader indexReader)
Load a global view of the ordinals for the givenIndexReader
.boolean
supportsGlobalOrdinalsMapping()
Whether this field data is able to provide a mapping between global and segment ordinals, by returning the underlyingOrdinalMap
.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.opensearch.index.fielddata.IndexFieldData
loadDirect, newBucketedSort, sortField
-
Field Details
-
breakerService
-
scriptFunction
protected final java.util.function.Function<org.apache.lucene.index.SortedSetDocValues,ScriptDocValues<?>> scriptFunction
-
-
Constructor Details
-
AbstractIndexOrdinalsFieldData
protected AbstractIndexOrdinalsFieldData(java.lang.String fieldName, ValuesSourceType valuesSourceType, IndexFieldDataCache cache, CircuitBreakerService breakerService, java.util.function.Function<org.apache.lucene.index.SortedSetDocValues,ScriptDocValues<?>> scriptFunction)
-
-
Method Details
-
getFieldName
public java.lang.String 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>
-
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
-
load
Description copied from interface:IndexFieldData
Loads the atomic field data for the reader, possibly cached.- Specified by:
load
in interfaceIndexFieldData<LeafOrdinalsFieldData>
-
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 java.lang.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:
java.lang.Exception
-
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
-