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 } ] }