Elasticsearch Internal Analyzer

Elasticsearch Internal Analyzer

ES 內置了多個分析器,用於對 text 進行解析,從而生成文檔索引。html

本MD基於 ES6.4。正則表達式

Analyzer 類別及區別

Standard Analyzer

Standard Analyzer ,也是ES默認的分詞器,基於 基於Unicode文本分割算法,適用於大多數語言,英文轉小寫。算法

Simple Analyzer

Simple Analyzer, 簡單地將 text 中可拆分的詞組拆分紅多個索引,忽略數字、符號、空格,英文轉小寫。elasticsearch

Whitespace Analyzer

Whitespace Analyzer,經過空格將 text 拆分紅索引。ide

Stop Analyzer

Stop Analyzer,在 Simple Analyzer 的基礎上,增長了 Stop Token Filter,對單詞進行過濾。ui

Keyword Analyzer

Kwyword Analyzer,將整個輸入的 text 做爲單獨一個 索引。spa

Pattern Analyzer

Pattern Analyzer,經過正則表達式,提取出匹配字段做爲索引。code

Languagle Analyzer

Language Analyzer,指定語言類型,對 text 進行解析。htm

Fingerprint Analyzer

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
    }
  ]
}
相關文章
相關標籤/搜索