印地语归一化过滤器(Hindi Normalization)

印地语归一化过滤器 #

hindi_normalization 词元过滤器对印地语(हिन्दी)文本进行正字法归一化,统一 Devanagari 脚本中的字符变体。

归一化规则 #

处理说明
Nukta 移除移除 nukta 标记(用于外来词音译的点)
视觉归一统一视觉上相同但编码不同的字符变体
末尾 Chandra 移除移除词尾的 chandra 符号
搭配 indic_normalization建议先应用 indic_normalization 过滤器

使用示例 #

PUT my-hindi-index
{
  "settings": {
    "analysis": {
      "filter": {
        "hindi_norm": {
          "type": "hindi_normalization"
        }
      },
      "analyzer": {
        "my_hindi": {
          "type": "custom",
          "tokenizer": "standard",
          "filter": ["lowercase", "indic_normalization", "hindi_norm"]
        }
      }
    }
  }
}

测试效果 #

GET /_analyze
{
  "tokenizer": "standard",
  "filter": ["indic_normalization", "hindi_normalization"],
  "text": "हिन्दी भाषा"
}

参数 #

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

在语言分析器中的位置 #

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

standard 分词器 → lowercasedecimal_digitindic_normalizationhindi_normalizationstop(印地语) → hindi_stemmer