天天看點

elasticsearch 分詞器1.      分詞器構造2.      案例

elasticsearch 分詞器

1.      分詞器構造

一個分詞器——無論内置還是自定義,是一個包含三個生成塊的包:character filters, tokenizers, and token filter.(字元過濾器,斷詞,分詞過濾)

1.1.    character filters

字元過濾器接收原始文本字元流并處理它——添加、删除、更改字元。

例如:從html文本中剔除<b>标簽

一個分詞器可以有0或多個字元過濾器,它們是順序執行的。

1.2.    tkenizer

斷詞器負責分詞,一個分詞器隻能有一個斷詞器。

它還記錄每個token的順序,位置,及原始單詞的偏移

1.3.    token filters

特征詞過濾器,負責處理斷詞器給出的清單。

lowercase轉換所有的特征詞為小寫,

stop從清單中移除停止詞(stop words)

特征詞處理器隻針對特征詞本身,不會改變它們的位置或者偏移;

特征詞處理器可以有0個或多個。

2.      案例

下面是一個自定義分詞器案例:

PUT my_index

{

  "settings": {

    "analysis": {

      "analyzer": {

        "my_custom_analyzer": {

          "type":      "custom",

          "tokenizer": "standard",

          "char_filter": [

            "html_strip"

          ],

          "filter": [

            "lowercase",

            "asciifolding"

          ]

        }

      }

    }

  }

}

轉載于:https://www.cnblogs.com/wodeboke-y/p/11562813.html

繼續閱讀