Elasticsearch 基础教程

Elasticsearch 高级教程

Elasticsearch 插件

Elasticsearch 笔记

Elasticsearch FAQ

original icon
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.knowledgedict.com/tutorial/elasticsearch-analyzer-run-order.html

elasticsearch(es)分析器(analyzer)内部执行顺序分析

Elasticsearch 笔记 Elasticsearch 笔记


es 不管是索引操作还是查询操作,都会经过分析器(analyzer),解析器主要做过滤(filter)和分词(tokenizer)操作。

分析器内部执行顺序

elasticsearch 的 analyzer 一般由三部分组成,分别是 character filters、tokenizers、token filters。它的执行顺序如下:

character filters -> tokenizers -> token filters

character filters 主要是字符过滤器,如 html 标签过滤器 html_strip

tokenizers 其实就是分词器,分词后的每个 term 叫 token,其中典型的第三方的中文分词器 ik_smart 等等。

token filters 是将第二步 tokenizers 的结果即每个 token 进行相应的变换,比如在这个阶段进行停用词(stop)过滤、小写化(lowercase)、同义词(synonmy)转换等等。

示例

{
  "index": {
    "analysis": {
      "filter": {
        "synonym": {
          "type": "synonym",
          "synonyms_path": "analysis/synonyms.txt"
        }
      },
      "analyzer": {
        "ik_smart_synonym": {
          "filter": [
            "synonym",
            "standard",
            "lowercase",
            "stop"
          ],
          "tokenizer": "ik_smart"
        }
      }
    }
  }
}

 

在 es 使用中,开发者想配置自身业务中沉淀的同义词(synonyms)表,并基于该同义词库配置包含其的分析器(analyzer),主要分为 ...
Elasticsearch 不管是索引任务还是搜索工作,都需要经过 es 的 analyzer(分析器),至于分析器,它分为内置分析器和自定 ...
Elasticsearch索引的配置项主要分为静态配置属性和动态配置属性,静态配置属性是索引创建后不能修改,而动态配置属性则可以随时修改。r ...
elasticsearch 删除索引操作能够用单个命令来进行完成,有不同的操作形式,具体如下: ...
基于 elasticsearch 构建的业务中最常用的聚合查询就是 terms aggregation,它基于 term 粒度的词或数字值进 ...