规范化分词过滤器
normalization
分词过滤器旨在调整和简化文本,以减少变体,特别是特殊字符的变体。它主要通过标准化特定语言中的字符来处理书写中的变体。
以下是可用的 normalization
分词过滤器:
- arabic_normalization
- german_normalization
- hindi_normalization
- indic_normalization
- sorani_normalization
- persian_normalization
- scandinavian_normalization
- scandinavian_folding
- serbian_normalization
示例
以下示例请求创建一个名为 german_normalizer_example
的新索引,并配置一个带有 german_normalization
过滤器的分析器。
PUT /german_normalizer_example
{
"settings": {
"analysis": {
"filter": {
"german_normalizer": {
"type": "german_normalization"
}
},
"analyzer": {
"german_normalizer_analyzer": {
"tokenizer": "standard",
"filter": [
"lowercase",
"german_normalizer"
]
}
}
}
}
}
生成的词元
使用以下请求检查使用该分析器生成的词元
POST /german_normalizer_example/_analyze
{
"text": "Straße München",
"analyzer": "german_normalizer_analyzer"
}
响应包含生成的词元
{
"tokens": [
{
"token": "strasse",
"start_offset": 0,
"end_offset": 6,
"type": "<ALPHANUM>",
"position": 0
},
{
"token": "munchen",
"start_offset": 7,
"end_offset": 14,
"type": "<ALPHANUM>",
"position": 1
}
]
}