Elastic search N-gram tokenizer

时间:2022-07-25
本文章向大家介绍Elastic search N-gram tokenizer,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
N-gram tokenizer

ngram 分词器,首先将text文本切分,执行时采用N-gram切割算法。

N-grams 算法,就像一个穿越单词的滑窗,是一个特定长度的持续的字符序列。这个适合于那些不太实用空格符的语言,或者有长的复合单词的语言,比如德语。

举个例子: 默认的, ngram tokenizer对初始化的text文本进行最小长度为1,最大长度为2的处理。

POST _analyze
{
  "tokenizer": "ngram",
  "text": "Quick Fox"
}

上面的配置输出如下:

[ Q, Qu, u, ui, i, ic, c, ck, k, "k ", " ", " F", F, Fo, o, ox, x ]
配置
  • min_gram :

在单词中最小字符长度,且默认为1

  • max_gram

在单词中最大字符长度,且默认为2

  • 符号分类

字母— 例如 a, b, ï or 京 数字— 例如 3 or 7 空格— 例如 " " or “n” 标签符号— 例如 ! or " 象型符—  例如 $ or √ 自定义符号 —  使用 custom_token_chars 来设置自己自定义的符号 custom_token_chars