{
    person:{
        "_meta":{
            "param1":"value1"
        },
        date_formats:["yyyy-MM-dd", "dd-MM-yyyy"],
        dynamic:false,
        enabled:true,
        _id:{
            name:"_id",
            index_name:"_id"
        },
        _source:{
            name:"_source"
        },
        _type:{
            name:"_type"
        },
        _boost:{
            name:"_boost",
            null_value:2.0
        },
        properties:{
            name:{
                type:"object",
                dynamic:false,
                properties:{
                    first:{
                        type:"string",
                        store:"yes"
                    },
                    last:{
                        type:"string",
                        index:"not_analyzed"
                    }
                }
            },
            address:{
                type:"object",
                properties:{
                    first:{
                        properties:{
                            location:{
                                type:"string",
                                store:"yes",
                                index_name:"firstLocation"
                            }
                        }
                    },
                    last:{
                        properties:{
                            location:{
                                type:"string"
                            }
                        }
                    }
                }
            },
            age:{
                type:"integer",
                null_value:0
            },
            birthdate:{
                type:"date",
                format:"yyyy-MM-dd"
            },
            nerd:{
                type:"boolean"
            },
            dogs:{
                type:"string",
                index_name:"dog"
            },
            complex:{
                type:"object",
                properties:{
                    value1:{
                        type:"string"
                    },
                    value2:{
                        type:"string"
                    }
                }
            },
            complex2:{
                type:"object",
                properties:{
                    value1:{
                        type:"string"
                    },
                    value2:{
                        type:"string"
                    }
                }
            }
        }
    }
}