Class GlobalOrdinalsIndexFieldData.Consumer
java.lang.Object
org.elasticsearch.index.AbstractIndexComponent
org.elasticsearch.index.fielddata.ordinals.GlobalOrdinalsIndexFieldData.Consumer
- All Implemented Interfaces:
org.apache.lucene.util.Accountable,IndexFieldData<AtomicOrdinalsFieldData>,IndexFieldData.Global<AtomicOrdinalsFieldData>,IndexOrdinalsFieldData,IndexComponent
- Enclosing class:
- GlobalOrdinalsIndexFieldData
public class GlobalOrdinalsIndexFieldData.Consumer extends AbstractIndexComponent 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 AtomicFieldData>, IndexFieldData.XFieldComparatorSource -
Field Summary
Fields inherited from class org.elasticsearch.index.AbstractIndexComponent
deprecationLogger, indexSettings, logger -
Method Summary
Modifier and Type Method Description voidclear()Clears any resources associated with this field data.java.util.Collection<org.apache.lucene.util.Accountable>getChildResources()java.lang.StringgetFieldName()The field name.org.apache.lucene.index.OrdinalMapgetOrdinalMap()Returns the underlyingOrdinalMapfor this fielddata or null if global ordinals are not needed (constant value or single segment).AtomicOrdinalsFieldDataload(org.apache.lucene.index.LeafReaderContext context)Loads the atomic field data for the reader, possibly cached.AtomicOrdinalsFieldDataloadDirect(org.apache.lucene.index.LeafReaderContext context)Loads directly the atomic field data for the reader, ignoring any caching involved.IndexOrdinalsFieldDataloadGlobal(org.apache.lucene.index.DirectoryReader indexReader)Load a global view of the ordinals for the givenIndexReader, potentially from a cache.IndexOrdinalsFieldDatalocalGlobalDirect(org.apache.lucene.index.DirectoryReader indexReader)Load a global view of the ordinals for the givenIndexReader.longramBytesUsed()org.apache.lucene.search.SortFieldsortField(java.lang.Object missingValue, MultiValueMode sortMode, IndexFieldData.XFieldComparatorSource.Nested nested, boolean reverse)Returns theSortFieldto use for sorting.booleansupportsGlobalOrdinalsMapping()Whether this field data is able to provide a mapping between global and segment ordinals, by returning the underlyingOrdinalMap.
-
Method Details
-
loadDirect
public AtomicOrdinalsFieldData loadDirect(org.apache.lucene.index.LeafReaderContext context) throws java.lang.ExceptionDescription copied from interface:IndexFieldDataLoads directly the atomic field data for the reader, ignoring any caching involved.- Specified by:
loadDirectin interfaceIndexFieldData<AtomicOrdinalsFieldData>- Throws:
java.lang.Exception
-
loadGlobal
Description copied from interface:IndexOrdinalsFieldDataLoad a global view of the ordinals for the givenIndexReader, potentially from a cache.- Specified by:
loadGlobalin interfaceIndexFieldData.Global<AtomicOrdinalsFieldData>- Specified by:
loadGlobalin interfaceIndexOrdinalsFieldData
-
localGlobalDirect
public IndexOrdinalsFieldData localGlobalDirect(org.apache.lucene.index.DirectoryReader indexReader) throws java.lang.ExceptionDescription copied from interface:IndexOrdinalsFieldDataLoad a global view of the ordinals for the givenIndexReader.- Specified by:
localGlobalDirectin interfaceIndexFieldData.Global<AtomicOrdinalsFieldData>- Specified by:
localGlobalDirectin interfaceIndexOrdinalsFieldData- Throws:
java.lang.Exception
-
getFieldName
public java.lang.String getFieldName()Description copied from interface:IndexFieldDataThe field name.- Specified by:
getFieldNamein interfaceIndexFieldData<AtomicOrdinalsFieldData>
-
sortField
public org.apache.lucene.search.SortField sortField(@Nullable java.lang.Object missingValue, MultiValueMode sortMode, IndexFieldData.XFieldComparatorSource.Nested nested, boolean reverse)Description copied from interface:IndexFieldDataReturns theSortFieldto use for sorting.- Specified by:
sortFieldin interfaceIndexFieldData<AtomicOrdinalsFieldData>
-
clear
public void clear()Description copied from interface:IndexFieldDataClears any resources associated with this field data.- Specified by:
clearin interfaceIndexFieldData<AtomicOrdinalsFieldData>
-
ramBytesUsed
public long ramBytesUsed()- Specified by:
ramBytesUsedin interfaceorg.apache.lucene.util.Accountable
-
getChildResources
public java.util.Collection<org.apache.lucene.util.Accountable> getChildResources()- Specified by:
getChildResourcesin interfaceorg.apache.lucene.util.Accountable
-
load
Description copied from interface:IndexFieldDataLoads the atomic field data for the reader, possibly cached.- Specified by:
loadin interfaceIndexFieldData<AtomicOrdinalsFieldData>
-
supportsGlobalOrdinalsMapping
public boolean supportsGlobalOrdinalsMapping()Description copied from interface:IndexOrdinalsFieldDataWhether 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:
supportsGlobalOrdinalsMappingin interfaceIndexOrdinalsFieldData
-
getOrdinalMap
public org.apache.lucene.index.OrdinalMap getOrdinalMap()Description copied from interface:IndexOrdinalsFieldDataReturns the underlyingOrdinalMapfor this fielddata or null if global ordinals are not needed (constant value or single segment).- Specified by:
getOrdinalMapin interfaceIndexOrdinalsFieldData
-