ES Analyzer分析器

Analysis与Analyzer

  • Analysis:文本分析,将文本转换成一系列单词(term/token)的过程也叫分词
  • Analyzer:分析器,实现分词的工具,ES自带有部分分析器,用户可以自定义

Analyzer的组成

  • 分析器由三部分组成,Character Filter(针对原始文本处理,例如去掉HTML)、Tokenizer(按照规则切分单词)、Token Filters(将切分的单词进行加工,小写,删除stopwords,增加同义词等)

ES内置分析器

  • Standard Analyzer - 默认分析器,英文按词切分,中文按字切分,过滤符号,小写处理
  • Simple Analyzer - 按非字母(数字,符号,空格)切分,过滤符号,小写处理
  • Stop Analyzer - 按非字母(数字,符号,空格)切分,过滤符号、停用词(the,a,is),小写处理
  • Whitespace Analyzer - 按照空格切分,不转小写
  • Keyword Analyzer - 不分词,直接将输入当输出
  • Pattern Analyzer - 正则表达式进行分词,默认是\W+,非字符的符号(符号,空格,中文)进行切分,小写处理,过滤停用词
  • Language - 提供了30多种常见西语分析器
  • 中文分词器 - 根据中文语义切分多个词语,eg:IK,ICU,THULAC
  • Customer Analyzer - 用户自定义分析器

Standard Analyzer(ES默认分词器)

英文按单词切分,中文按单字切分,过滤符号,保留数字,中英文,且小写处理英文
image.png

Simple Analyzer

按照非字母切分,即数字,符号和空格切分,并去除掉数字,符号和空格,且英文小写处理
image.png

Stop Analyzer

按照非字母切分,即数字,符号和空格切分,并去除掉停用词,数字,符号和空格,且英文小写处理
image.png

Whitespace Analyzer

按照空格切分,英文不转成小写
image.png

Keyword Analyzer

不分词,直接将输入当一个term输出
image.png

Pattern Analyzer

默认是\W+,非字符的符号(符号,空格,中文)进行切分,英文小写处理,且过滤掉停用词
image.png

posted @ 2022-10-16 11:51  Tenic  阅读(366)  评论(0编辑  收藏  举报