经典分词过滤器

经典分词过滤器 #

经典(classic)分词过滤器的主要功能是与经典词元生成器配合使用。它通过应用以下常见的转换操作来处理词元,这些操作有助于文本分析和搜索:

  • 移除所有格词尾,例如 “’s” 。比如,“John’s” 会变为 “John”。
  • 从首字母缩略词中移除句点。例如,“D.A.R.P.A.” 会变为 “DARPA”。

参考样例 #

以下示例请求创建了一个名为 custom_classic_filter 的新索引,并配置了一个使用经典分词过滤器的分词器。

PUT /custom_classic_filter
{
  "settings": {
    "analysis": {
      "analyzer": {
        "custom_classic": {
          "type": "custom",
          "tokenizer": "classic",
          "filter": ["classic"]
        }
      }
    }
  }
}

产生的词元 #

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

POST /custom_classic_filter/_analyze
{
  "analyzer": "custom_classic",
  "text": "John's co-operate was excellent."
}

返回内容包含产生的词元

{
  "tokens": [
    {
      "token": "John",
      "start_offset": 0,
      "end_offset": 6,
      "type": "<APOSTROPHE>",
      "position": 0
    },
    {
      "token": "co",
      "start_offset": 7,
      "end_offset": 9,
      "type": "<ALPHANUM>",
      "position": 1
    },
    {
      "token": "operate",
      "start_offset": 10,
      "end_offset": 17,
      "type": "<ALPHANUM>",
      "position": 2
    },
    {
      "token": "was",
      "start_offset": 18,
      "end_offset": 21,
      "type": "<ALPHANUM>",
      "position": 3
    },
    {
      "token": "excellent",
      "start_offset": 22,
      "end_offset": 31,
      "type": "<ALPHANUM>",
      "position": 4
    }
  ]
}