Interface RuntimeField

All Superinterfaces:
org.elasticsearch.common.xcontent.ToXContent, org.elasticsearch.common.xcontent.ToXContentFragment
All Known Implementing Classes:
CompositeRuntimeField, LeafRuntimeField

public interface RuntimeField extends org.elasticsearch.common.xcontent.ToXContentFragment
Definition of a runtime field that can be defined as part of the runtime section of the index mappings
  • Method Details

    • name

      String name()
      Exposes the name of the runtime field
      Returns:
      name of the field
    • asMappedFieldTypes

      Stream<MappedFieldType> asMappedFieldTypes()
      Exposes the MappedFieldTypes backing this runtime field, used to execute queries, run aggs etc.
      Returns:
      the MappedFieldTypes backing this runtime field
    • parseRuntimeFields

      static Map<String,​RuntimeField> parseRuntimeFields(Map<String,​Object> node, MappingParserContext parserContext, boolean supportsRemoval)
      Parse runtime fields from the provided map, using the provided parser context.
      Parameters:
      node - the map that holds the runtime fields configuration
      parserContext - the parser context that holds info needed when parsing mappings
      supportsRemoval - whether a null value for a runtime field should be properly parsed and translated to the removal of such runtime field
      Returns:
      the parsed runtime fields
    • parseRuntimeFields

      static Map<String,​RuntimeField> parseRuntimeFields(Map<String,​Object> node, MappingParserContext parserContext, Function<RuntimeField.Builder,​RuntimeField> builder, boolean supportsRemoval)
      Parse runtime fields from the provided map, using the provided parser context. This method also allows you to define how the runtime field will be created from its builder, so that it can be used by composite fields to build child fields using parent factory parameters.
      Parameters:
      node - the map that holds the runtime fields configuration
      parserContext - the parser context that holds info needed when parsing mappings
      builder - a function to convert a RuntimeField.Builder into a RuntimeField
      supportsRemoval - whether a null value for a runtime field should be properly parsed and translated to the removal of such runtime field
      Returns:
      the parsed runtime fields
    • collectFieldTypes

      static Map<String,​MappedFieldType> collectFieldTypes(Collection<RuntimeField> runtimeFields)
      Collect and return all MappedFieldType exposed by the provided RuntimeFields. Note that validation is performed to make sure that there are no name clashes among the collected runtime fields. This is because runtime fields with the same name are not accepted as part of the same section.
      Parameters:
      runtimeFields - the runtime to extract the mapped field types from
      Returns:
      the collected mapped field types
    • initializerNotSupported

      static <T> Function<FieldMapper,​T> initializerNotSupported()
    • parseScript

      static Script parseScript(String name, MappingParserContext parserContext, Object scriptObject)