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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章