{
    "analyzer": {
        "keyword": {
            "filter": [
                "truncate_keyword"
            ],
            "tokenizer": "no_splitting",
            "type": "custom"
        },
        "lowercase_keyword": {
            "filter": [
                "truncate_keyword",
                "icu_normalizer",
                "icu_folding",
                "remove_empty"
            ],
            "tokenizer": "no_splitting",
            "type": "custom"
        },
        "near_match": {
            "char_filter": [
                "near_space_flattener"
            ],
            "filter": [
                "truncate_keyword",
                "icu_normalizer"
            ],
            "tokenizer": "no_splitting",
            "type": "custom"
        },
        "near_match_asciifolding": {
            "char_filter": [
                "near_space_flattener"
            ],
            "filter": [
                "truncate_keyword",
                "icu_normalizer",
                "icu_folding",
                "remove_empty"
            ],
            "tokenizer": "no_splitting",
            "type": "custom"
        },
        "plain": {
            "char_filter": [
                "nnbsp_norm",
                "word_break_helper"
            ],
            "filter": [
                "icutokrep_no_camel_split",
                "icu_normalizer",
                "preserve_original_recorder",
                "icu_folding",
                "preserve_original",
                "remove_empty"
            ],
            "tokenizer": "textify_icu_tokenizer",
            "type": "custom"
        },
        "plain_search": {
            "char_filter": [
                "nnbsp_norm",
                "word_break_helper"
            ],
            "filter": [
                "icutokrep_no_camel_split",
                "icu_normalizer"
            ],
            "tokenizer": "textify_icu_tokenizer",
            "type": "custom"
        },
        "prefix": {
            "char_filter": [
                "near_space_flattener"
            ],
            "filter": [
                "icu_normalizer"
            ],
            "tokenizer": "prefix",
            "type": "custom"
        },
        "prefix_asciifolding": {
            "char_filter": [
                "near_space_flattener"
            ],
            "filter": [
                "icu_normalizer",
                "icu_folding",
                "remove_empty"
            ],
            "tokenizer": "prefix",
            "type": "custom"
        },
        "short_text": {
            "filter": [
                "icu_normalizer",
                "aggressive_splitting",
                "preserve_original_recorder",
                "icu_folding",
                "preserve_original",
                "remove_empty"
            ],
            "tokenizer": "whitespace",
            "type": "custom"
        },
        "short_text_search": {
            "filter": [
                "icu_normalizer",
                "aggressive_splitting"
            ],
            "tokenizer": "whitespace",
            "type": "custom"
        },
        "source_text_plain": {
            "char_filter": [
                "word_break_helper_source_text"
            ],
            "filter": [
                "icutokrep_no_camel_split",
                "icu_normalizer"
            ],
            "tokenizer": "textify_icu_tokenizer",
            "type": "custom"
        },
        "source_text_plain_search": {
            "char_filter": [
                "word_break_helper_source_text"
            ],
            "filter": [
                "icutokrep_no_camel_split",
                "icu_normalizer"
            ],
            "tokenizer": "textify_icu_tokenizer",
            "type": "custom"
        },
        "suggest": {
            "filter": [
                "icutokrep_no_camel_split",
                "icu_normalizer",
                "suggest_shingle"
            ],
            "tokenizer": "textify_icu_tokenizer",
            "type": "custom"
        },
        "suggest_reverse": {
            "filter": [
                "icutokrep_no_camel_split",
                "icu_normalizer",
                "suggest_shingle",
                "reverse"
            ],
            "tokenizer": "textify_icu_tokenizer",
            "type": "custom"
        },
        "text": {
            "char_filter": [
                "globo_norm",
                "acronym_fixer",
                "camelCase_splitter",
                "word_break_helper",
                "arabic_extended_norm"
            ],
            "filter": [
                "icu_token_repair",
                "homoglyph_norm",
                "icu_normalizer",
                "polish_stop",
                "polish_stem",
                "stempel_pattern_filter",
                "icu_folding",
                "remove_empty",
                "stempel_stop"
            ],
            "tokenizer": "textify_icu_tokenizer",
            "type": "custom"
        },
        "text_search": {
            "char_filter": [
                "globo_norm",
                "acronym_fixer",
                "camelCase_splitter",
                "word_break_helper",
                "arabic_extended_norm"
            ],
            "filter": [
                "icu_token_repair",
                "homoglyph_norm",
                "icu_normalizer",
                "polish_stop",
                "polish_stem",
                "stempel_pattern_filter",
                "icu_folding",
                "remove_empty",
                "stempel_stop"
            ],
            "tokenizer": "textify_icu_tokenizer",
            "type": "custom"
        },
        "token_reverse": {
            "filter": [
                "reverse"
            ],
            "tokenizer": "no_splitting",
            "type": "custom"
        },
        "trigram": {
            "filter": [
                "icu_normalizer"
            ],
            "tokenizer": "trigram",
            "type": "custom"
        },
        "trigram_anchored": {
            "char_filter": [
                "add_regex_start_end_anchors"
            ],
            "filter": [
                "icu_normalizer"
            ],
            "tokenizer": "trigram",
            "type": "custom"
        },
        "word_prefix": {
            "filter": [
                "icutokrep_no_camel_split",
                "icu_normalizer",
                "prefix_ngram_filter"
            ],
            "tokenizer": "textify_icu_tokenizer",
            "type": "custom"
        }
    },
    "char_filter": {
        "arabic_extended_norm": {
            "type": "limited_mapping",
            "mappings": [
                "\\uFB8E=>\\u0643",
                "\\uFB8F=>\\u0643",
                "\\uFB90=>\\u0643",
                "\\uFB91=>\\u0643",
                "\\u06A9=>\\u0643",
                "\\u06AA=>\\u0643",
                "\\uFEDB=>\\u0643",
                "\\uFEDC=>\\u0643",
                "\\uFED9=>\\u0643",
                "\\uFEDA=>\\u0643",
                "\\uFBFC=>\\u064A",
                "\\uFBFD=>\\u064A",
                "\\uFBFE=>\\u064A",
                "\\uFBFF=>\\u064A",
                "\\u06CC=>\\u064A",
                "\\uFBE8=>\\u064A",
                "\\uFBE9=>\\u064A",
                "\\uFEEF=>\\u064A",
                "\\uFEF0=>\\u064A",
                "\\u0649=>\\u064A",
                "\\u06CD=>\\u064A",
                "\\uFBE4=>\\u064A",
                "\\uFBE5=>\\u064A",
                "\\uFBE6=>\\u064A",
                "\\uFBE7=>\\u064A",
                "\\u06D0=>\\u064A",
                "\\uFBA6=>\\u0647",
                "\\uFBA7=>\\u0647",
                "\\uFBA8=>\\u0647",
                "\\uFBA9=>\\u0647",
                "\\u06C1=>\\u0647",
                "\\u06C0=>\\u0647",
                "\\uFBA4=>\\u0647",
                "\\uFBA5=>\\u0647",
                "\\u06D5=>\\u0647"
            ]
        },
        "dotted_I_fix": {
            "type": "limited_mapping",
            "mappings": [
                "\u0130=>I"
            ]
        },
        "globo_norm": {
            "type": "mapping",
            "mappings": [
                "`=>'",
                "\u00b4=>'",
                "\u02b9=>'",
                "\u02bb=>'",
                "\u02bc=>'",
                "\u02bd=>'",
                "\u02be=>'",
                "\u02bf=>'",
                "\u02cb=>'",
                "\u055a=>'",
                "\\u05F3=>'",
                "\u2018=>'",
                "\u2019=>'",
                "\u201b=>'",
                "\u2032=>'",
                "\u2035=>'",
                "\ua78c=>'",
                "\uff07=>'",
                "\uff40=>'",
                "\\u202F=>\\u0020",
                "\u02c8=>",
                "\u02cc=>",
                "\\u0640=>",
                "\u066c=>,",
                "\u060c=>,",
                "\u055b=>",
                "\u055c=>",
                "\u055e=>",
                "\u00b5=>\u03bc",
                "\\u05F0=>\\u05D5\\u05D5",
                "\\u05F1=>\\u05D5\\u05D9",
                "\\u05F2=>\\u05D9\\u05D9",
                "\\uFB1F=>\\u05D9\\u05D9\\u05B7",
                "\\u05D9\\u05B7\\u05D9=>\\u05D9\\u05D9\\u05B7",
                "\u0d23\u0d4d\\u200D=>\u0d7a",
                "\u0d28\u0d4d\\u200D=>\u0d7b",
                "\u0d30\u0d4d\\u200D=>\u0d7c",
                "\u0d32\u0d4d\\u200D=>\u0d7d",
                "\u0d33\u0d4d\\u200D=>\u0d7e",
                "\u09a4\u09cd\\u200D=>\u09ce",
                "\\u061C=>"
            ]
        },
        "icu_normalizer": {
            "type": "icu_normalizer",
            "name": "nfkc_cf"
        },
        "near_space_flattener": {
            "type": "limited_mapping",
            "mappings": [
                "'=>\\u0020",
                "\\u2019=>\\u0020",
                "\\u02BC=>\\u0020",
                "_=>\\u0020",
                "-=>\\u0020"
            ]
        },
        "nnbsp_norm": {
            "type": "limited_mapping",
            "mappings": [
                "\\u202F=>\\u0020"
            ]
        },
        "regex_acronym_fixer": {
            "type": "pattern_replace",
            "pattern": "(?<=(?:^|\\P{L})\\p{L})[.\uff0e](\\p{L})(?=\\P{L}|$)",
            "replacement": "$1"
        },
        "regex_camelCase": {
            "type": "pattern_replace",
            "pattern": "(\\p{Ll}[\\p{M}\\p{Cf}]*)([\\p{Lu}\\p{Lt}])",
            "replacement": "$1 $2"
        },
        "word_break_helper": {
            "type": "limited_mapping",
            "mappings": [
                "_=>\\u0020",
                ":=>\\u0020",
                ".=>\\u0020",
                "(=>\\u0020",
                ")=>\\u0020",
                "\uff0e=>\\u0020",
                "\uff3f=>\\u0020",
                "\uff1a=>\\u0020",
                "\u00b7=>\\u0020"
            ]
        },
        "word_break_helper_source_text": {
            "type": "limited_mapping",
            "mappings": [
                "_=>\\u0020",
                ".=>\\u0020",
                "(=>\\u0020",
                ")=>\\u0020",
                ":=>\\u0020"
            ]
        }
    },
    "filter": {
        "aggressive_splitting": {
            "type": "word_delimiter_graph",
            "stem_english_possessive": false,
            "preserve_original": false
        },
        "asciifolding": {
            "type": "asciifolding",
            "preserve_original": false
        },
        "asciifolding_preserve": {
            "type": "asciifolding",
            "preserve_original": true
        },
        "icu_folding": {
            "type": "icu_folding",
            "unicodeSetFilter": "[^\u0104\u0105\u0106\u0107\u0118\u0119\u0141\u0142\u0143\u0144\u00d3\u00f3\u015a\u015b\u0179\u017a\u017b\u017c]"
        },
        "icu_nfkc_normalization": {
            "type": "icu_normalizer",
            "name": "nfkc"
        },
        "icu_normalizer": {
            "type": "icu_normalizer",
            "name": "nfkc_cf"
        },
        "icutokrep_no_camel_split": {
            "type": "icu_token_repair",
            "keep_camel_split": false
        },
        "lowercase": {
            "type": "lowercase"
        },
        "polish_stop": {
            "type": "stop",
            "stopwords": [
                "vol",
                "o.o.",
                "o.o",
                "mgr",
                "godz",
                "z\u0142",
                "www",
                "pl",
                "ul",
                "tel",
                "hab",
                "prof",
                "in\u017c",
                "dr",
                "i",
                "u",
                "aby",
                "albo",
                "ale",
                "ani",
                "a\u017c",
                "bardzo",
                "bez",
                "bo",
                "bowiem",
                "by",
                "byli",
                "bym",
                "by\u0142",
                "by\u0142a",
                "by\u0142o",
                "by\u0142y",
                "by\u0107",
                "b\u0119dzie",
                "b\u0119d\u0105",
                "chce",
                "cho\u0107",
                "co",
                "coraz",
                "co\u015b",
                "czy",
                "czyli",
                "cz\u0119sto",
                "dla",
                "do",
                "gdy",
                "gdyby",
                "gdy\u017c",
                "gdzie",
                "go",
                "ich",
                "im",
                "inne",
                "i\u017c",
                "ja",
                "jak",
                "jakie",
                "jako",
                "je",
                "jednak",
                "jednym",
                "jedynie",
                "jego",
                "jej",
                "jest",
                "jeszcze",
                "je\u015bli",
                "je\u017celi",
                "ju\u017c",
                "j\u0105",
                "kiedy",
                "kilku",
                "kto",
                "kt\u00f3ra",
                "kt\u00f3re",
                "kt\u00f3rego",
                "kt\u00f3rej",
                "kt\u00f3ry",
                "kt\u00f3rych",
                "kt\u00f3rym",
                "kt\u00f3rzy",
                "lat",
                "lecz",
                "lub",
                "ma",
                "maj\u0105",
                "mamy",
                "mi",
                "mia\u0142",
                "mimo",
                "mnie",
                "mog\u0105",
                "mo\u017ce",
                "mo\u017cna",
                "mu",
                "musi",
                "na",
                "nad",
                "nam",
                "nas",
                "nawet",
                "nic",
                "nich",
                "nie",
                "niej",
                "nim",
                "ni\u017c",
                "no",
                "nowe",
                "np",
                "nr",
                "o",
                "od",
                "ok",
                "on",
                "one",
                "oraz",
                "pan",
                "po",
                "pod",
                "ponad",
                "poniewa\u017c",
                "poza",
                "przed",
                "przede",
                "przez",
                "przy",
                "raz",
                "razie",
                "roku",
                "r\u00f3wnie\u017c",
                "si\u0119",
                "sobie",
                "spos\u00f3b",
                "swoje",
                "s\u0105",
                "ta",
                "tak",
                "takich",
                "takie",
                "tak\u017ce",
                "tam",
                "te",
                "tego",
                "tej",
                "temu",
                "ten",
                "teraz",
                "te\u017c",
                "to",
                "trzeba",
                "tu",
                "tych",
                "tylko",
                "tym",
                "tys",
                "tzw",
                "t\u0119",
                "w",
                "we",
                "wie",
                "wi\u0119c",
                "wszystko",
                "w\u015br\u00f3d",
                "w\u0142a\u015bnie",
                "z",
                "za",
                "za\u015b",
                "ze",
                "\u017ce",
                "\u017ceby",
                "ii",
                "iii",
                "iv",
                "vi",
                "vii",
                "viii",
                "ix",
                "xi",
                "xii",
                "xiii",
                "xiv",
                "xv"
            ]
        },
        "prefix_ngram_filter": {
            "type": "edgeNGram",
            "max_gram": 255
        },
        "remove_empty": {
            "type": "length",
            "min": 1
        },
        "stempel_pattern_filter": {
            "type": "pattern_replace",
            "pattern": "^([a-z\u0105\u0142]?[a-z\u0107\u0144]|..\u0107|\\d.*\u0107)$",
            "replacement": ""
        },
        "stempel_stop": {
            "type": "stop",
            "stopwords": [
                "owa\u0107",
                "iwa\u0107",
                "obi\u0107",
                "sn\u0105\u0107",
                "ywa\u0107",
                "ium",
                "my",
                "um"
            ]
        },
        "suggest_shingle": {
            "type": "shingle",
            "min_shingle_size": 2,
            "max_shingle_size": 3,
            "output_unigrams": true
        },
        "truncate_keyword": {
            "type": "truncate_norm",
            "length": 5000
        }
    },
    "normalizer": {
        "keyword": {
            "type": "custom",
            "filter": [
                "truncate_keyword"
            ]
        },
        "lowercase_keyword": {
            "type": "custom",
            "filter": [
                "truncate_keyword",
                "icu_normalizer"
            ]
        }
    },
    "tokenizer": {
        "no_splitting": {
            "type": "keyword"
        },
        "prefix": {
            "type": "edgeNGram",
            "max_gram": 255
        },
        "trigram": {
            "type": "nGram",
            "min_gram": 3,
            "max_gram": 3
        }
    }
}