德语归一化过滤器(German Normalization)

德语归一化过滤器 #

german_normalization 词元过滤器将德语特有的元音变音和 ß 归一化为 ASCII 等价形式。

归一化规则 #

原始归一化说明
äa元音变音归一化
öo元音变音归一化
üu元音变音归一化
ÄA大写变音归一化
ÖO大写变音归一化
ÜU大写变音归一化
ßss双 s 替换

注意:这与 ae → a 不同。此过滤器只处理变音符号字符本身,不处理 ae/oe/ue 的拼写变体。

使用示例 #

PUT my-german-index
{
  "settings": {
    "analysis": {
      "filter": {
        "german_norm": {
          "type": "german_normalization"
        }
      },
      "analyzer": {
        "my_german": {
          "type": "custom",
          "tokenizer": "standard",
          "filter": ["lowercase", "german_norm", "german_stemmer"]
        }
      }
    }
  }
}

测试效果 #

GET /_analyze
{
  "tokenizer": "standard",
  "filter": ["german_normalization"],
  "text": "Straße Übung Ärger"
}

响应中 StraßestrasseÜbungubungÄrgerarger

参数 #

此过滤器不接受任何参数。

在语言分析器中的位置 #

德语分析器 内置了此过滤器,其分析链为:

standard 分词器 → lowercasestop(德语) → keyword_marker(stem_exclusion) → german_normalizationgerman_light_stem