归一化词元过滤器 #
归一化(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
}
]
}