elasticsearch 分词器

一、分词器

分词器 就是把一段句子拆分成一个一个的单个的单词,同时对每个单词进行normalization(时态转换,单复数转换)。主要作用就是:切分词语,normalization(提升recall召回率)。

normalization: 建立倒排索引的时候,会执行一个操作,对拆分出的各个单词进行相应处理,以提升后面搜索的时候能够搜索到的相关联的文档的概率。像时态转换、单复数转换、大小写转换等。

recall(召回率): 搜索的时候,增加能够搜索到的结果的数量

二、分词器的功能

  1. character filter:在一段文本进行分词之前,先进行预处理,比如说最常见的就是,过滤html标签。例:<span>hello<span> --> hello& --> and,I&you --> I and you
  2. tokenizer:分词:hello you and me --> hello, you, and, me
  3. token filter:单复数转换、大小写转换,近义词转换,去掉a/an/the等。l

在分词器将文本进行各种处理后,最后处理好的结果才会拿去建立倒排索引。

三、es内置分词器

  1. standard analyzer(默认使用):大小写、去符号、按照基本空格拆分,也会按照-、_ 拆分。
  2. simple analyzer:相当于standard,但更简单。
  3. whitespace analyzer:不做大小写转换,且只按照空格拆分。
  4. language analyzer:特定的语言的分词器,比如说,english,英语分词器。

四、测试分词器

GET /_analyze
{
  "analyzer": "standard",
  "text": "Text to analyze"
}

猜你喜欢

转载自blog.csdn.net/qq_37502106/article/details/80620255