elasticsearch-es 分析器

elasticsearch-es 分析器

analysis 分析

分析是在文档被发送并加入倒排索引之前 ,es 会先对文本进行一系列处理

  • 字符过滤: 使用字符过滤器转变字符, 如将hello es改成hello elasticsearch
  • 文本切分为分词: 将文本切分为单个或者多个分词
  • 分词过滤: 使用分词过滤器转变每个分词
  • 分词索引:将分词存储到索引中

分析器,分词器,分词过滤器

一个分析器包括一个可选的字符过滤器,一个单个分词器,0个或者多个分词过滤器

       文本

------------------
|分析器           
|       |
|       |
|       V
|     字符过滤器
|       |
|       V
|     分词器
|       |
|       V
|     分词过滤器(0~n)
|       |
|-------------------
|       |
|       V
|      输出分词

分析器

内置analyzer分类:

  • standard(标准分析器)
  • simple: 小写转换分词
  • whitespace(空白分析器): 根据空白将文本分词
  • stop(停用词分析器): 过滤了停用词
  • keyword(关键词分析器): 将整个字段作为单独的分词,最好是将 index 设置成 not_anylyzed
  • pattern(模式分析器)
  • snowball(雪球分析器): 除了使用标准分词器和分词过滤器,也使用了小不害怕分词过滤器和停用器

分词器

内置分词器:

  • standard tokenizer(标准分词器): 最大长度255,移除了逗号和句号等标点符号
  • keyword tokenizer(关键词分词器)
  • letter tokenizer(字母分词器): 根据非字母的符号,将文本分成分词
  • lowercase tokenizer(小写分词器)
  • whitespace tokenizer(空白分词器)
  • pattern tokenizer(模式分词器): 指定任一模式将文本切分为分词

分词过滤器

       文本

------------------
|分词过滤器链           
|       |
|       |
|       V
|      小写
|       |
|       V
|     停用词
|       |
|       V
|     同义词...
|       |
|-------------------
|       |
|       V


内置分词过滤器:

  • standard token filter(标准分词过滤器): 其实什么也没有做
  • lowercase token filter (小写分词过滤器)
  • length token filter(长度分词过滤器): 将长度超出最长和最短限制的单词过滤
  • stop token filter(停用词过滤器): 将停用词从分词流中移除
  • truncate token filter(截断分词过滤器)
  • reverse token filter(颠倒分词过滤器): 将分词颠倒并过滤
  • synonym token filter(同义词过滤器)
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页