ICU 转换分词器编辑

转换用于以多种不同方式处理 Unicode 文本,例如大小写映射、规范化、音译和双向文本处理。

您可以使用 id 参数(默认为 Null)定义要应用的转换,并使用 dir 参数指定文本方向,该参数接受 forward(默认值)表示从左到右,reverse 表示从右到左。目前不支持自定义规则集。

例如

PUT icu_sample
{
  "settings": {
    "index": {
      "analysis": {
        "analyzer": {
          "latin": {
            "tokenizer": "keyword",
            "filter": [
              "myLatinTransform"
            ]
          }
        },
        "filter": {
          "myLatinTransform": {
            "type": "icu_transform",
            "id": "Any-Latin; NFD; [:Nonspacing Mark:] Remove; NFC" 
          }
        }
      }
    }
  }
}

GET icu_sample/_analyze
{
  "analyzer": "latin",
  "text": "你好" 
}

GET icu_sample/_analyze
{
  "analyzer": "latin",
  "text": "здравствуйте" 
}

GET icu_sample/_analyze
{
  "analyzer": "latin",
  "text": "こんにちは" 
}

此转换将字符音译为拉丁文,并将音调符号与其基本字符分开,删除音调符号,然后将剩余文本转换为无音调形式。

返回 ni hao

返回 zdravstvujte

返回 kon'nichiha

有关更多文档,请参阅 ICU 转换用户指南