天天看点

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

继续阅读