Module org.elasticsearch.server
Package org.elasticsearch.index.mapper
Class SortedNumericDocValuesSyntheticFieldLoader
java.lang.Object
org.elasticsearch.index.mapper.SortedNumericDocValuesSyntheticFieldLoader
- All Implemented Interfaces:
SourceLoader.SyntheticFieldLoader
public abstract class SortedNumericDocValuesSyntheticFieldLoader
extends Object
implements SourceLoader.SyntheticFieldLoader
Load
_source fields from SortedNumericDocValues.-
Nested Class Summary
Nested classes/interfaces inherited from interface org.elasticsearch.index.mapper.SourceLoader.SyntheticFieldLoader
SourceLoader.SyntheticFieldLoader.DocValuesLoader, SourceLoader.SyntheticFieldLoader.StoredFieldLoader -
Field Summary
Fields inherited from interface org.elasticsearch.index.mapper.SourceLoader.SyntheticFieldLoader
NOTHING -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedSortedNumericDocValuesSyntheticFieldLoader(String name, String simpleName, boolean loadIgnoreMalformedValues) Build a loader from doc values and, optionally, a stored field. -
Method Summary
Modifier and TypeMethodDescriptiondocValuesLoader(org.apache.lucene.index.LeafReader reader, int[] docIdsInLeaf) Build something to load doc values for this field or returnnullif there are no doc values for this field to load.static org.apache.lucene.index.SortedNumericDocValuesdocValuesOrNull(org.apache.lucene.index.LeafReader reader, String fieldName) Returns aSortedNumericDocValuesor null if it doesn't have any doc values.Returns the canonical field name for this loader.booleanhasValue()Has this field loaded any values for this document?voidreset()Resets the loader to remove any stored data and prepare it for processing new document.AStreammapping stored field paths to a place to put them so they can be included in the next document.voidWrite values for this document.protected abstract voidwriteValue(XContentBuilder b, long value) Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.elasticsearch.index.mapper.SourceLoader.SyntheticFieldLoader
prepare, setIgnoredValues
-
Constructor Details
-
SortedNumericDocValuesSyntheticFieldLoader
protected SortedNumericDocValuesSyntheticFieldLoader(String name, String simpleName, boolean loadIgnoreMalformedValues) Build a loader from doc values and, optionally, a stored field.- Parameters:
name- the name of the field to load from doc valuessimpleName- the name to give the field in the rendered_sourceloadIgnoreMalformedValues- should we load values skipped byignore_malformed
-
-
Method Details
-
writeValue
- Throws:
IOException
-
storedFieldLoaders
public Stream<Map.Entry<String,SourceLoader.SyntheticFieldLoader.StoredFieldLoader>> storedFieldLoaders()Description copied from interface:SourceLoader.SyntheticFieldLoaderAStreammapping stored field paths to a place to put them so they can be included in the next document.- Specified by:
storedFieldLoadersin interfaceSourceLoader.SyntheticFieldLoader
-
docValuesLoader
public SourceLoader.SyntheticFieldLoader.DocValuesLoader docValuesLoader(org.apache.lucene.index.LeafReader reader, int[] docIdsInLeaf) throws IOException Description copied from interface:SourceLoader.SyntheticFieldLoaderBuild something to load doc values for this field or returnnullif there are no doc values for this field to load.- Specified by:
docValuesLoaderin interfaceSourceLoader.SyntheticFieldLoader- Parameters:
docIdsInLeaf- can be null.- Throws:
IOException
-
hasValue
public boolean hasValue()Description copied from interface:SourceLoader.SyntheticFieldLoaderHas this field loaded any values for this document?- Specified by:
hasValuein interfaceSourceLoader.SyntheticFieldLoader
-
write
Description copied from interface:SourceLoader.SyntheticFieldLoaderWrite values for this document.- Specified by:
writein interfaceSourceLoader.SyntheticFieldLoader- Throws:
IOException
-
reset
public void reset()Description copied from interface:SourceLoader.SyntheticFieldLoaderResets the loader to remove any stored data and prepare it for processing new document. This is an alternative code path toSourceLoader.SyntheticFieldLoader.write(org.elasticsearch.xcontent.XContentBuilder)that is executed when values are loaded but not written. Loaders are expected to also reset their state after writing currently present data.- Specified by:
resetin interfaceSourceLoader.SyntheticFieldLoader
-
docValuesOrNull
public static org.apache.lucene.index.SortedNumericDocValues docValuesOrNull(org.apache.lucene.index.LeafReader reader, String fieldName) throws IOException Returns aSortedNumericDocValuesor null if it doesn't have any doc values. SeeDocValues.getSortedNumeric(org.apache.lucene.index.LeafReader, java.lang.String)which is *nearly* the same, but it returns an "empty" implementation if there aren't any doc values. We need to be able to tell if there aren't any and return our empty leaf source loader.- Throws:
IOException
-
fieldName
Description copied from interface:SourceLoader.SyntheticFieldLoaderReturns the canonical field name for this loader.- Specified by:
fieldNamein interfaceSourceLoader.SyntheticFieldLoader
-