德语归一化过滤器 #
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ße → strasse、Übung → ubung、Ärger → arger。
参数 #
此过滤器不接受任何参数。
在语言分析器中的位置 #
德语分析器 内置了此过滤器,其分析链为:
standard 分词器 → lowercase → stop(德语) → keyword_marker(stem_exclusion) → german_normalization → german_light_stem