def emit_mappings()

in geneve/events_emitter.py [0:0]


def emit_mappings(fields, schema):
    mappings = {}
    for field in fields:
        try:
            field_type = schema[field]["type"]
        except KeyError:
            field_type = "keyword"
        value = {"type": field_type}
        if has_wildcards(field):
            value = {
                "dynamic_templates": [
                    {
                        field: {
                            "path_match": field,
                            "mapping": value,
                        },
                    }
                ]
            }
        else:
            for part in reversed(split_path(field)):
                value = {"properties": {part: value}}
        deep_merge(mappings, value)
    return mappings