ICU 规范化令牌过滤器编辑

根据 此处 的说明规范化字符。它将自己注册为 icu_normalizer 令牌过滤器,该过滤器无需任何其他配置即可供所有索引使用。规范化类型可以通过 name 参数指定,该参数接受 nfcnfkcnfkc_cf(默认)。

可以通过指定 unicode_set_filter 参数来控制哪些字母被规范化,该参数接受 UnicodeSet

您可能更喜欢使用 规范化字符过滤器

以下两个示例展示了默认用法和自定义令牌过滤器

PUT icu_sample
{
  "settings": {
    "index": {
      "analysis": {
        "analyzer": {
          "nfkc_cf_normalized": { 
            "tokenizer": "icu_tokenizer",
            "filter": [
              "icu_normalizer"
            ]
          },
          "nfc_normalized": { 
            "tokenizer": "icu_tokenizer",
            "filter": [
              "nfc_normalizer"
            ]
          }
        },
        "filter": {
          "nfc_normalizer": {
            "type": "icu_normalizer",
            "name": "nfc"
          }
        }
      }
    }
  }
}

使用默认的 nfkc_cf 规范化。

使用自定义的 nfc_normalizer 令牌过滤器,该过滤器设置为使用 nfc 规范化。