阿拉伯语词干过滤器(Arabic Stemmer)

阿拉伯语词干过滤器 #

arabic_stemmer 词元过滤器使用 Lucene 的 ArabicStemmer 对阿拉伯语词元进行词干提取,去除常见的前缀和后缀。

词干规则 #

此词干提取器基于 Shereen Khoja 的轻量级方法,处理以下词缀:

类型示例
定冠词前缀ال (al-)
介词前缀و (wa-), ب (bi-), ك (ka-)
代词后缀ها, هم, هن 等
阴性/双数/复数后缀ة, ات, ين 等

使用示例 #

PUT my-arabic-index
{
  "settings": {
    "analysis": {
      "filter": {
        "arabic_stem": {
          "type": "stemmer",
          "language": "arabic"
        }
      },
      "analyzer": {
        "my_arabic": {
          "type": "custom",
          "tokenizer": "standard",
          "filter": ["lowercase", "arabic_normalization", "arabic_stem"]
        }
      }
    }
  }
}

测试效果 #

GET /_analyze
{
  "tokenizer": "standard",
  "filter": ["arabic_normalization", "stemmer"],
  "text": "الكتابات"
}

参数 #

通过 stemmer 过滤器使用时:

参数说明
typestemmer过滤器类型
languagearabic指定阿拉伯语词干算法

在语言分析器中的位置 #

阿拉伯语分析器 内置了此过滤器,位于分析链末端。