Link Search Menu Expand Document Documentation Menu

词干提取器 Token 过滤器

stemmer token 过滤器将单词还原为其根形式或基本形式(也称为其词干)。

参数

stemmer token 过滤器可以使用接受以下值的 language 参数进行配置

  • 阿拉伯语:arabic
  • 亚美尼亚语:armenian
  • 巴斯克语:basque
  • 孟加拉语:bengali
  • 巴西葡萄牙语:brazilian
  • 保加利亚语:bulgarian
  • 加泰罗尼亚语:catalan
  • 捷克语:czech
  • 丹麦语:danish
  • 荷兰语:dutch, dutch_kp
  • 英语:english(默认),light_englishlovinsminimal_englishporter2possessive_english
  • 爱沙尼亚语:estonian
  • 芬兰语:finnishlight_finnish
  • 法语:light_frenchfrenchminimal_french
  • 加利西亚语:galicianminimal_galician(仅复数步骤)
  • 德语:light_germangermangerman2minimal_german
  • 希腊语:greek
  • 印地语:hindi
  • 匈牙利语:hungarian, light_hungarian
  • 印尼语:indonesian
  • 爱尔兰语:irish
  • 意大利语:light_italian, italian
  • 库尔德语(索拉尼):sorani
  • 拉脱维亚语:latvian
  • 立陶宛语:lithuanian
  • 挪威语(书面挪威语):norwegianlight_norwegianminimal_norwegian
  • 挪威语(新挪威语):light_nynorskminimal_nynorsk
  • 葡萄牙语:light_portugueseminimal_portugueseportugueseportuguese_rslp
  • 罗马尼亚语:romanian
  • 俄语:russianlight_russian
  • 西班牙语:light_spanishspanish
  • 瑞典语:swedishlight_swedish
  • 土耳其语:turkish

您还可以使用 name 参数作为 language 参数的别名。如果两者都设置,则 name 参数将被忽略。

示例

以下示例请求创建一个名为 my-stemmer-index 的新索引,并配置一个带有 stemmer 过滤器的分析器

PUT /my-stemmer-index
{
  "settings": {
    "analysis": {
      "filter": {
        "my_english_stemmer": {
          "type": "stemmer",
          "language": "english"
        }
      },
      "analyzer": {
        "my_stemmer_analyzer": {
          "type": "custom",
          "tokenizer": "standard",
          "filter": [
            "lowercase",
            "my_english_stemmer"
          ]
        }
      }
    }
  }
}

生成的词元

使用以下请求检查使用该分析器生成的词元

GET /my-stemmer-index/_analyze
{
  "analyzer": "my_stemmer_analyzer",
  "text": "running runs"
}

响应包含生成的词元

{
  "tokens": [
    {
      "token": "run",
      "start_offset": 0,
      "end_offset": 7,
      "type": "<ALPHANUM>",
      "position": 0
    },
    {
      "token": "run",
      "start_offset": 8,
      "end_offset": 12,
      "type": "<ALPHANUM>",
      "position": 1
    }
  ]
}
剩余 350 字符

有问题?

想贡献?