{
    "index_patterns": [
        "project.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_description": {
                    "type": "text"
                },
                "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"
                        }
                    }
                },
                "artist_url": {
                    "type": "keyword",
                    "index" : false
                },
                "correlation_id": {
                    "type": "keyword",
                    "index" : false
                },
                "created_date_utc": {
                    "type": "date"
                },
                "deletions": {
                    "type": "keyword"
                },
                "description": {
                    "type": "keyword"
                },
                "product_count": {
                    "type": "integer"
                },
                "project_code": {
                    "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"
                        }
                    }
                },
                "project_id": {
                    "type": "integer"
                },
                "project_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"
                        }
                    }
                },
                "subaccount_id": {
                    "type": "integer"
                },
                "subaccount_name": {
                    "type": "keyword"
                },
                "updated_date_utc": {
                    "type": "date"
                },
                "vendor_id": {
                    "type": "integer"
                },
                "vendorUUID": {
                    "type": "keyword"
                },
                "subaccountUUID": {
                    "type": "keyword"
                },
                "companyBrandUUID": {
                    "type": "keyword"
                },
                "parentCompanyUUID": {
                    "type": "keyword"
                }
            }
        }
    }
}
