{
    "index_patterns": [
        "track.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"
                            ]
                        }
                    },
                    "normalizer": {
                        "name_exact_normalizer": {
                            "type": "custom",
                            "filter": [
                                "lowercase"
                            ]
                        }
                    },
                    "filter": {
                        "name_prefix_filter": {
                            "type": "edge_ngram",
                            "min_gram": "1",
                            "max_gram": "20"
                        }
                    },
                    "char_filter": {
                        "name_char_filter": {
                            "type": "mapping",
                            "mappings": [
                                "- => ",
                                "( => ",
                                ") => ",
                                "[ => ",
                                "] => "
                            ]
                        }
                    }
                }
            }
        },
        "mappings": {
            "properties": {
                "artist_id": {
                    "type": "integer"
                },
                "artist_name": {
                    "type": "text",
                    "fields": {
                        "keyword": {
                            "type": "keyword",
                            "ignore_above": 256
                        },
                        "keywordLower": {
                            "type": "keyword",
                            "ignore_above": 256,
                            "normalizer": "name_exact_normalizer"
                        },
                        "normalized": {
                            "type": "text",
                            "analyzer": "name_analyzer"
                        },
                        "prefix": {
                            "type": "text",
                            "analyzer": "name_prefix_analyzer",
                            "search_analyzer": "name_phrase_analyzer"
                        },
                        "phrase": {
                            "type": "text",
                            "analyzer": "name_phrase_analyzer"
                        }
                    }
                },
                "cd": {
                    "type": "short"
                },
                "deletions": {
                    "type": "keyword"
                },
                "isrc": {
                    "type": "text",
                    "fields": {
                        "keyword": {
                            "type": "keyword",
                            "ignore_above": 256
                        },
                        "keywordLower": {
                            "type": "keyword",
                            "ignore_above": 256,
                            "normalizer": "name_exact_normalizer"
                        },
                        "normalized": {
                            "type": "text",
                            "analyzer": "name_analyzer"
                        },
                        "prefix": {
                            "type": "text",
                            "analyzer": "name_prefix_analyzer",
                            "search_analyzer": "name_phrase_analyzer"
                        },
                        "phrase": {
                            "type": "text",
                            "analyzer": "name_phrase_analyzer"
                        }
                    }
                },
                "label_id": {
                    "type": "integer"
                },
                "original_file_name": {
                    "type": "keyword",
                    "index" : false
                },
                "release_id": {
                    "type": "integer"
                },
                "release_name": {
                    "type": "text",
                    "fields": {
                        "keyword": {
                            "type": "keyword",
                            "ignore_above": 256
                        },
                        "keywordLower": {
                            "type": "keyword",
                            "ignore_above": 256,
                            "normalizer": "name_exact_normalizer"
                        },
                        "normalized": {
                            "type": "text",
                            "analyzer": "name_analyzer"
                        },
                        "prefix": {
                            "type": "text",
                            "analyzer": "name_prefix_analyzer",
                            "search_analyzer": "name_phrase_analyzer"
                        },
                        "phrase": {
                            "type": "text",
                            "analyzer": "name_phrase_analyzer"
                        }
                    }
                },
                "release_status": {
                    "type": "keyword"
                },
                "subaccount_id": {
                    "type": "integer"
                },
                "track_id": {
                    "type": "integer"
                },
                "track_name": {
                    "type": "text",
                    "fields": {
                        "keyword": {
                            "type": "keyword",
                            "ignore_above": 256
                        },
                        "keywordLower": {
                            "type": "keyword",
                            "ignore_above": 256,
                            "normalizer": "name_exact_normalizer"
                        },
                        "normalized": {
                            "type": "text",
                            "analyzer": "name_analyzer"
                        },
                        "prefix": {
                            "type": "text",
                            "analyzer": "name_prefix_analyzer",
                            "search_analyzer": "name_phrase_analyzer"
                        },
                        "phrase": {
                            "type": "text",
                            "analyzer": "name_phrase_analyzer"
                        }
                    }
                },
                "track_type": {
                    "type": "keyword"
                },
                "track_unique_id": {
                    "type": "integer"
                },
                "upc": {
                    "type": "keyword"
                },
                "vendor_id": {
                    "type": "integer"
                },
                "vendorUUID": {
                    "type": "keyword"
                },
                "subaccountUUID": {
                    "type": "keyword"
                },
                "version": {
                    "type": "keyword",
                    "index" : false
                },
                "companyBrandUUID": {
                    "type": "keyword"
                },
                "parentCompanyUUID": {
                    "type": "keyword"
                }

            }
        }
    }
}
