ElasticSearch15:分词器

ElasticSearch15:分词器

Analysis和Analyze

Analysis:文本分析是把全文本转换为一系列单词(term/token)的过程 ,也叫分词(Analyzer)。
Analy是通过Analyzer来实现。

Analyzer组成

在ES中默认使用标准分词器:StandAnalyzer。
特点:中文单字分词,英文单词分词
分析器(analyzer)是由三种组件构成的:character filterstokenizerstoken filters
  • character filters 字符过滤器
    • 在一段文本进行分词之前,先进行预处理,比如最常见的过滤html标签(<span>hello<span> —>hello)
  • tokenizers 分词器
    • 英文分词可以根据空格将单词分开,中文分词比较复杂,可以采用机器学习算法来分词。
  • token filters Token过滤器
    • 将切分的单词进行加工。
      • 大小写转换
      • 去掉停用词(例如停用词:“a”、 “and”、 “the”等等)
      • 加入同义词(例如:同义词“jump”和“leap”)
注意📢📢📢:
  • 三者顺序:Character Filters > Tokenizer > Token Filter
  • 三者个数:Charater Filters(0个或者多个) + Tokenizer + Token Filters (0个或者多个)

内置分词器

  • Standard Analyzer 默认分词器,英文按单词切分,冰小写处理
  • Simple Analyzer 按照单词切分(符号被过滤),小写处理
  • Stop Analyzer 小写处理,停用词过滤(the、a、is)
  • Whitespace Analyzer 按照空格切分,不转小写
  • Keyword Analyzer 不分词,直接将输入当作输出