pub struct Mapping {
pub mapping_type: MappingType,
pub extra: BTreeMap<String, GenericValue>,
pub map_values: Option<MappingType>,
pub decimal: bool,
pub enum_order: Option<Vec<String>>,
}Expand description
OpenSearch mapping. mapping_type is required; all other properties are passed through as-is.
Fields§
§mapping_type: MappingType§extra: BTreeMap<String, GenericValue>§map_values: Option<MappingType>For a map field (a dynamic-key object), the mapping type of every
value; None for every other field. Internal metadata only — it is
not serialized into the index body (a map carries just
{"type":"object","dynamic":true}, the latter via extra). It exists so
a consumer turning the mapping into typed bindings can tell a map from a
plain object and offer a value-kind-typed handle.
decimal: boolWhether this numeric field came from a FlussoType::Decimal — a PG
numeric/decimal. It maps to OpenSearch double like a true double,
so mapping_type alone can’t tell them apart.
Internal metadata only — not serialized into the index body. It lets a
consumer turning the mapping into typed bindings offer a Decimal-kind
handle (exact) instead of an f64-kind one.
enum_order: Option<Vec<String>>For an Enum field with a declared order, its
variants in rank order; None for a bare enum or any other field. The
OpenSearch sink turns it into a .sort subfield (a per-field normalizer
remapping each variant to a zero-padded rank) so the field sorts by
declared order rather than alphabetically; a consumer building typed
bindings uses it to offer an order-aware sort handle. Internal metadata —
the enum itself is still serialized as a plain keyword.