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
    }
  ]
}
相关文章
相关标签/搜索