ES 内置了多个分析器,用于对 text 进行解析,从而生成文档索引。html
本MD基于 ES6.4。正则表达式
Standard Analyzer ,也是ES默认的分词器,基于 基于Unicode文本分割算法,适用于大多数语言,英文转小写。算法
Simple Analyzer, 简单地将 text 中可拆分的词组拆分红多个索引,忽略数字、符号、空格,英文转小写。elasticsearch
Whitespace Analyzer,经过空格将 text 拆分红索引。ide
Stop Analyzer,在 Simple Analyzer 的基础上,增长了 Stop Token Filter,对单词进行过滤。ui
Kwyword Analyzer,将整个输入的 text 做为单独一个 索引。spa
Pattern Analyzer,经过正则表达式,提取出匹配字段做为索引。code
Language Analyzer,指定语言类型,对 text 进行解析。htm
Fingerprint Analyzer,还不了解。索引
经过以下语句,能够查看到指定的 analyzer 对文本处理后的标记结果,有助于咱们对 analyzer 的选择,对查询结果的分析。
POST _analyze { "analyzer": "standard", "text": ["2018-11-06T02:57:49.307Z"] }
能够查看到分析结果:
{ "tokens": [ { "token": "2018", "start_offset": 0, "end_offset": 4, "type": "<NUM>", "position": 0 }, { "token": "11", "start_offset": 5, "end_offset": 7, "type": "<NUM>", "position": 1 }, { "token": "06t02", "start_offset": 8, "end_offset": 13, "type": "<ALPHANUM>", "position": 2 }, { "token": "57", "start_offset": 14, "end_offset": 16, "type": "<NUM>", "position": 3 }, { "token": "49.307z", "start_offset": 17, "end_offset": 24, "type": "<ALPHANUM>", "position": 4 } ] }