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