{
  "settings": {
    "analysis": {
      "char_filter": {
        "german_chars": {
          "type": "mapping",
          "mappings": [
            "th=>t",
            "ſ=>s",
            "ä=>ae",
            "ö=>oe",
            "ü=>ue",
            "ß=>ss",
            "mm=>m",
            "nn=>n"
          ]
        },
        "remove_extra_chars": {
          "type": "pattern_replace",
          "pattern": "[^\\p{L}\\s]+",
          "replacement": ""
        }
      },
      "filter": {
        "custom_asciifolding": {
          "type": "asciifolding",
          "preserve_original": false
        }
      },
      "analyzer": {
        "tg_analyzer": {
          "tokenizer": "standard",
          "char_filter": [
            "german_chars",
            "remove_extra_chars"
          ],
          "filter": [
            "lowercase",
            "custom_asciifolding"
          ]
        }
      }
    }
  },
  "mappings": {
    "properties": {
      "text": {
        "type": "text",
        "analyzer": "tg_analyzer"
      }
    }
  }
}