{
    "index_patterns": [
        "sme_label.v*"
    ],
    "template": {
        "settings": {
            "index":{
                "analysis": {
                    "analyzer": {
                        "name_analyzer":{
                            "type": "custom",
                            "tokenizer": "standard",
                            "char_filter":[
                                "name_char_filter"
                            ],
                            "filter":[
                                "lowercase",
                                "asciifolding",
                                "stop",
                                "unique"
                            ]
                        },
                        "name_phrase_analyzer": {
                            "type": "custom",
                            "tokenizer": "standard",
                            "char_filter": [
                                "name_char_filter"
                            ],
                            "filter": [
                                "lowercase",
                                "asciifolding"
                            ]
                        },
                        "name_prefix_analyzer": {
                            "type": "custom",
                            "tokenizer": "standard",
                            "char_filter":[
                                "name_char_filter"
                            ],
                            "filter":[
                                "lowercase",
                                "asciifolding",
                                "name_prefix_filter"
                            ]
                        }
                    },
                    "filter": {
                        "name_prefix_filter": {
                            "type": "edge_ngram",
                            "min_gram": "1",
                            "max_gram": "20"
                        }
                    },
                    "char_filter": {
                        "name_char_filter": {
                            "type": "mapping",
                            "mappings": [
                                "- => ",
                                "( => ",
                                ") => ",
                                "[ => ",
                                "] => "
                            ]
                        }
                    }
                }
            }
        },
        "mappings": {
            "properties": {
                "uuid": {
                    "type": "keyword"
                },
                "name": {
                    "type": "text",
                    "fields": {
                        "keyword": {
                            "type": "keyword",
                            "ignore_above": 256
                        },
                        "normalized": {
                            "type": "text",
                            "analyzer": "name_analyzer"
                        },
                        "prefix": {
                            "type": "text",
                            "analyzer": "name_prefix_analyzer",
                            "search_analyzer": "name_phrase_analyzer"
                        }
                    }
                },
                "vendorId": {
                    "type": "keyword"
                },
                "vendorUUID": {
                    "type": "keyword"
                },
                "subaccountId": {
                    "type": "keyword"
                },
                "subaccountUUID": {
                    "type": "keyword"
                },
                "companyBrandUUID": {
                    "type": "keyword"
                },
                "labelType": {
                    "type": "keyword"
                },
                "vendorStatus": {
                    "type": "keyword"
                },
                "vendorType": {
                    "type": "keyword"
                },
                "isDistributor": {
                    "type": "keyword"
                },
                "isDeleted": {
                    "type": "boolean"
                },
                "lastModifiedAt": {
                    "type": "date",
                    "null_value": "1970-01-01T00:00:00Z"
                },
                "lastModifiedBy": {
                    "type": "keyword"
                },
                "createdAt": {
                    "type": "date",
                    "null_value": "1970-01-01T00:00:00Z"
                },
                "createdBy": {
                    "type": "keyword"
                },
                "parentCompanyUUID": {
                    "type": "keyword"
                }
            }
        }
    }
}
