Analysis和Analyze
Analysis:文本分析是把全文本转换为一系列单词(term/token)的过程 ,也叫分词(Analyzer)。
Analy是通过Analyzer来实现。
Analyzer组成
在ES中默认使用标准分词器:StandAnalyzer。
特点:中文单字分词,英文单词分词
分析器(analyzer)是由三种组件构成的:character filters
,tokenizers
,token 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 不分词,直接将输入当作输出