kuromoji 分析器

编辑

kuromoji 分析器使用以下分析链:

它支持来自 kuromoji_tokenizermodeuser_dictionary 设置。

规范化全角字符

编辑

kuromoji_tokenizer 分词器使用来自 MeCab-IPADIC 词典的字符将文本分割成词元。该词典包含一些全角字符,例如 。如果文本包含全角字符,分词器可能会产生意外的词元。

例如,kuromoji_tokenizer 分词器将文本 Culture of Japan 转换为词元 [ culture, o, f, japan ],而不是 [ culture, of, japan ]

为避免这种情况,请将 icu_normalizer 字符过滤器 添加到基于 kuromoji 分析器的自定义分析器中。icu_normalizer 字符过滤器将全角字符转换为其普通等效字符。

首先,复制 kuromoji 分析器以创建自定义分析器的基础。然后将 icu_normalizer 字符过滤器添加到自定义分析器中。例如:

PUT index-00001
{
  "settings": {
    "index": {
      "analysis": {
        "analyzer": {
          "kuromoji_normalize": {                 
            "char_filter": [
              "icu_normalizer"                    
            ],
            "tokenizer": "kuromoji_tokenizer",
            "filter": [
              "kuromoji_baseform",
              "kuromoji_part_of_speech",
              "cjk_width",
              "ja_stop",
              "kuromoji_stemmer",
              "lowercase"
            ]
          }
        }
      }
    }
  }
}

创建一个新的自定义分析器 kuromoji_normalize,基于 kuromoji 分析器。

icu_normalizer 字符过滤器添加到分析器。