归一化词元过滤器

归一化词元过滤器 #

归一化(normalization)词元过滤器旨在以减少文本差异(尤其是特殊字符差异)的方式对文本进行调整和简化。它主要用于通过对特定语言中的字符进行标准化处理,来应对书写上的差异。

以下是可用的归一化词元过滤器:

参考样例 #

以下示例请求创建了一个名为 german_normalizer_example 的新索引,并配置了一个带有 german_normalization的分词器:

PUT /german_normalizer_example
{
  "settings": {
    "analysis": {
      "filter": {
        "german_normalizer": {
          "type": "german_normalization"
        }
      },
      "analyzer": {
        "german_normalizer_analyzer": {
          "tokenizer": "standard",
          "filter": [
            "lowercase",
            "german_normalizer"
          ]
        }
      }
    }
  }
}

产生的词元 #

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

POST /german_normalizer_example/_analyze
{
  "text": "Straße München",
  "analyzer": "german_normalizer_analyzer"
}

返回内容包含产生的词元

{
  "tokens": [
    {
      "token": "strasse",
      "start_offset": 0,
      "end_offset": 6,
      "type": "<ALPHANUM>",
      "position": 0
    },
    {
      "token": "munchen",
      "start_offset": 7,
      "end_offset": 14,
      "type": "<ALPHANUM>",
      "position": 1
    }
  ]
}