波特词干词元过滤器

波特词干词元过滤器 #

波特词干(porter_stem)词元过滤器会将单词还原为其基本(或词干)形式,并去除单词中常见的后缀,这有助于通过单词的词根来匹配相似的单词。例如,单词“running”会被词干提取为“run”。此词元过滤器主要用于英语,并基于 波特词干提取算法进行词干提取操作。

参考样例 #

以下示例请求创建了一个名为 my_stem_index 的新索引,并配置了一个带有波特词干提取过滤器的分词器。

PUT /my_stem_index
{
  "settings": {
    "analysis": {
      "filter": {
        "my_porter_stem": {
          "type": "porter_stem"
        }
      },
      "analyzer": {
        "porter_analyzer": {
          "tokenizer": "standard",
          "filter": [
            "lowercase",
            "my_porter_stem"
          ]
        }
      }
    }
  }
}

产生的词元 #

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

POST /my_stem_index/_analyze
{
  "text": "running runners ran",
  "analyzer": "porter_analyzer"
}

返回内容包含产生的词元

{
  "tokens": [
    {
      "token": "run",
      "start_offset": 0,
      "end_offset": 7,
      "type": "<ALPHANUM>",
      "position": 0
    },
    {
      "token": "runner",
      "start_offset": 8,
      "end_offset": 15,
      "type": "<ALPHANUM>",
      "position": 1
    },
    {
      "token": "ran",
      "start_offset": 16,
      "end_offset": 19,
      "type": "<ALPHANUM>",
      "position": 2
    }
  ]
}