{
    "analyzer": {
        "text": {
            "type": "custom",
            "char_filter": [
                "dotted_I_fix",
                "nori_charfilter",
                "nori_combo_filter"
            ],
            "tokenizer": "nori_tok",
            "filter": [
                "homoglyph_norm",
                "nori_posfilter",
                "nori_readingform",
                "lowercase",
                "remove_empty"
            ]
        },
        "plain": {
            "type": "custom",
            "char_filter": [
                "word_break_helper"
            ],
            "tokenizer": "standard",
            "filter": [
                "lowercase"
            ]
        },
        "plain_search": {
            "type": "custom",
            "char_filter": [
                "word_break_helper"
            ],
            "tokenizer": "standard",
            "filter": [
                "lowercase"
            ]
        },
        "short_text": {
            "type": "custom",
            "tokenizer": "whitespace",
            "filter": [
                "lowercase",
                "aggressive_splitting",
                "asciifolding_preserve",
                "dedup_asciifolding"
            ]
        },
        "short_text_search": {
            "type": "custom",
            "tokenizer": "whitespace",
            "filter": [
                "lowercase",
                "aggressive_splitting"
            ]
        },
        "source_text_plain": {
            "type": "custom",
            "tokenizer": "standard",
            "filter": [
                "lowercase"
            ],
            "char_filter": [
                "word_break_helper_source_text"
            ]
        },
        "source_text_plain_search": {
            "type": "custom",
            "char_filter": [
                "word_break_helper_source_text"
            ],
            "tokenizer": "standard",
            "filter": [
                "lowercase"
            ]
        },
        "suggest": {
            "type": "custom",
            "tokenizer": "standard",
            "filter": [
                "lowercase",
                "suggest_shingle"
            ]
        },
        "suggest_reverse": {
            "type": "custom",
            "tokenizer": "standard",
            "filter": [
                "lowercase",
                "suggest_shingle",
                "reverse"
            ]
        },
        "token_reverse": {
            "type": "custom",
            "tokenizer": "no_splitting",
            "filter": [
                "reverse"
            ]
        },
        "near_match": {
            "type": "custom",
            "char_filter": [
                "near_space_flattener"
            ],
            "tokenizer": "no_splitting",
            "filter": [
                "lowercase"
            ]
        },
        "near_match_asciifolding": {
            "type": "custom",
            "char_filter": [
                "near_space_flattener"
            ],
            "tokenizer": "no_splitting",
            "filter": [
                "truncate_keyword",
                "lowercase",
                "asciifolding"
            ]
        },
        "prefix": {
            "type": "custom",
            "char_filter": [
                "near_space_flattener"
            ],
            "tokenizer": "prefix",
            "filter": [
                "lowercase"
            ]
        },
        "prefix_asciifolding": {
            "type": "custom",
            "char_filter": [
                "near_space_flattener"
            ],
            "tokenizer": "prefix",
            "filter": [
                "lowercase",
                "asciifolding"
            ]
        },
        "word_prefix": {
            "type": "custom",
            "tokenizer": "standard",
            "filter": [
                "lowercase",
                "prefix_ngram_filter"
            ]
        },
        "keyword": {
            "type": "custom",
            "tokenizer": "no_splitting",
            "filter": [
                "truncate_keyword"
            ]
        },
        "lowercase_keyword": {
            "type": "custom",
            "tokenizer": "no_splitting",
            "filter": [
                "truncate_keyword",
                "lowercase"
            ]
        },
        "trigram": {
            "type": "custom",
            "tokenizer": "trigram",
            "filter": [
                "lowercase"
            ]
        },
        "text_search": {
            "type": "custom",
            "char_filter": [
                "dotted_I_fix",
                "nori_charfilter",
                "nori_combo_filter"
            ],
            "tokenizer": "nori_tok",
            "filter": [
                "homoglyph_norm",
                "nori_posfilter",
                "nori_readingform",
                "lowercase",
                "remove_empty"
            ]
        }
    },
    "filter": {
        "suggest_shingle": {
            "type": "shingle",
            "min_shingle_size": 2,
            "max_shingle_size": 3,
            "output_unigrams": true
        },
        "lowercase": {
            "type": "lowercase"
        },
        "aggressive_splitting": {
            "type": "word_delimiter",
            "stem_english_possessive": false,
            "preserve_original": false
        },
        "prefix_ngram_filter": {
            "type": "edgeNGram",
            "max_gram": 255
        },
        "asciifolding": {
            "type": "asciifolding",
            "preserve_original": false
        },
        "asciifolding_preserve": {
            "type": "asciifolding",
            "preserve_original": true
        },
        "truncate_keyword": {
            "type": "truncate",
            "length": 5000
        },
        "remove_empty": {
            "type": "length",
            "min": 1
        },
        "nori_posfilter": {
            "type": "nori_part_of_speech",
            "stoptags": [
                "E",
                "IC",
                "J",
                "MAG",
                "MAJ",
                "MM",
                "SP",
                "SSC",
                "SSO",
                "SC",
                "SE",
                "XPN",
                "XSA",
                "XSN",
                "XSV",
                "UNA",
                "NA",
                "VSV",
                "VCP",
                "VCN",
                "VX"
            ]
        },
        "dedup_asciifolding": {
            "type": "unique",
            "only_on_same_position": true
        }
    },
    "tokenizer": {
        "prefix": {
            "type": "edgeNGram",
            "max_gram": 255
        },
        "no_splitting": {
            "type": "keyword"
        },
        "trigram": {
            "type": "nGram",
            "min_gram": 3,
            "max_gram": 3
        },
        "nori_tok": {
            "type": "nori_tokenizer",
            "decompound_mode": "mixed"
        }
    },
    "char_filter": {
        "near_space_flattener": {
            "type": "mapping",
            "mappings": [
                "'=>\\u0020",
                "\\u2019=>\\u0020",
                "\\u02BC=>\\u0020",
                "_=>\\u0020",
                "-=>\\u0020"
            ]
        },
        "word_break_helper": {
            "type": "mapping",
            "mappings": [
                "_=>\\u0020",
                ".=>\\u0020",
                "(=>\\u0020",
                ")=>\\u0020"
            ]
        },
        "word_break_helper_source_text": {
            "type": "mapping",
            "mappings": [
                "_=>\\u0020",
                ".=>\\u0020",
                "(=>\\u0020",
                ")=>\\u0020",
                ":=>\\u0020"
            ]
        },
        "dotted_I_fix": {
            "type": "mapping",
            "mappings": [
                "\u0130=>I"
            ]
        },
        "nori_charfilter": {
            "type": "mapping",
            "mappings": [
                "\\u00B7=>\\u0020",
                "\\u318D=>\\u0020",
                "\\u00AD=>",
                "\\u200C=>"
            ]
        },
        "nori_combo_filter": {
            "type": "pattern_replace",
            "pattern": "[\\u0300-\\u0331]",
            "replacement": ""
        }
    }
}