Elasticsearch 核心内置分析器全解析 特点对比 实战选型一、前言二、基础概念分析器作用与执行流程2.1 分析器核心作用2.2 分析器标准执行流程图三、Elasticsearch 6 大核心内置分析器3.1 分析器1standard 标准分析器3.1.1 基本信息3.1.2 核心特点3.1.3 分词示例3.1.4 适用场景3.2 分析器2simple 简单分析器3.2.1 基本信息3.2.2 核心特点3.2.3 分词示例3.2.4 适用场景3.3 分析器3stop 停用词分析器3.3.1 基本信息3.3.2 核心特点3.3.3 分词示例3.3.4 适用场景3.4 分析器4whitespace 空格分析器3.4.1 基本信息3.4.2 核心特点3.4.3 分词示例3.4.4 适用场景3.5 分析器5keyword 关键字分析器3.5.1 基本信息3.5.2 核心特点3.5.3 分词示例3.5.4 适用场景3.6 分析器6pattern 正则分析器3.6.1 基本信息3.6.2 核心特点3.6.3 分词示例3.6.4 适用场景四、6 大内置分析器对比表生产选型必备五、内置分析器实战使用方法5.1 方式1字段直接指定内置分析器5.2 方式2测试分析器分词效果六、关键注意事项避坑指南6.1 内置分析器不支持中文语义分词6.2 大小写敏感问题6.3 精准匹配必须用 keyword6.4 索引与查询分析器必须一致七、生产环境最佳实践八、总结The Begin点点关注收藏不迷路一、前言在 Elasticsearch 中Analyzer分析器是全文检索的基石负责将文本切分为词条决定搜索精度、召回率与响应速度。ES 开箱即用提供了多种内置分析器无需安装插件、无需自定义配置直接就能使用。很多新手不知道默认用哪个分析器英文、中文、数字、特殊字符分别适合什么分析器本文将系统梳理 ES 全部内置分析器详细说明每个分析器的原理、特点、适用场景、分词效果搭配流程图、对比表、实战命令让你一篇吃透 ES 内置分析器。二、基础概念分析器作用与执行流程2.1 分析器核心作用写入时对text类型字段分词构建倒排索引查询时对搜索关键词分词匹配索引数据标准化文本大小写转换、去符号、去停用词等2.2 分析器标准执行流程图原始文本Character Filter字符预处理Tokenizer分词器切词Token Filter词条过滤加工最终分词结果ES 内置分析器均按照此流程执行只是组件配置不同。三、Elasticsearch 6 大核心内置分析器ES 提供6 种官方内置分析器覆盖绝大多数英文/基础文本场景。3.1 分析器1standard 标准分析器3.1.1 基本信息默认分析器ES 全局默认使用语言英文最优中文按单字拆分组合组件TokenizerStandard TokenizerToken FilterLowercase Stop默认关闭3.1.2 核心特点按空格、标点符号分词自动转小写支持多语言基础分词无多余配置开箱即用3.1.3 分词示例文本Hello Elasticsearch 6.0分词结果[hello, elasticsearch, 6.0]3.1.4 适用场景英文文本、日志内容、单词检索、通用场景默认首选。3.2 分析器2simple 简单分析器3.2.1 基本信息极简规则非字母自动分割只保留字母丢弃数字、符号强制转小写3.2.2 核心特点非字母字符作为分隔符仅保留字母全部小写无停用词过滤性能极高3.2.3 分词示例文本Hello ES-6.0 Test!分词结果[hello, es, test]3.2.4 适用场景纯英文检索、简单文本、过滤数字/符号场景。3.3 分析器3stop 停用词分析器3.3.1 基本信息在simple基础上增加停用词过滤自动过滤无意义词汇the/a/an/is/of等3.3.2 核心特点非字母分割转小写自动去停用词减少索引体积提升查询效率3.3.3 分词示例文本The Hello of Elasticsearch分词结果[hello, elasticsearch]3.3.4 适用场景英文文章、长文本、需要精简索引的场景。3.4 分析器4whitespace 空格分析器3.4.1 基本信息仅按空格分词不处理任何内容不转小写、不去符号、不去停用词3.4.2 核心特点只按空格切分保留大小写、数字、符号无任何加工处理3.4.3 分词示例文本Hello ES-6.0 Test分词结果[Hello, ES-6.0, Test]3.4.4 适用场景代码、命令行、特殊格式文本、大小写敏感场景。3.5 分析器5keyword 关键字分析器3.5.1 基本信息不分词整段文本作为一个词条相当于无分词、无处理3.5.2 核心特点输入输出不切词不修改文本内容精准匹配、聚合、排序专用3.5.3 分词示例文本Hello World分词结果[Hello World]3.5.4 适用场景订单号、手机号、状态值、枚举、精准匹配字段。3.6 分析器6pattern 正则分析器3.6.1 基本信息按正则表达式分词默认正则\W非字母、数字、下划线分割支持自定义正则规则3.6.2 核心特点灵活分词支持自定义分隔符自动转小写可过滤特殊符号3.6.3 分词示例文本Hello ES_6.0 TestSearch分词结果[hello, es_6, 0, test, search]3.6.4 适用场景特殊格式文本、自定义分隔符、复杂文本分词。四、6 大内置分析器对比表生产选型必备分析器名称分词规则小写转换停用词保留数字中文支持适用场景standard标点/空格是否是单字英文通用默认simple非字母分割是否否单字纯英文简单文本stop非字母分割是是否单字英文长文本去停用词whitespace仅空格否否是不支持代码/大小写敏感keyword不分词否否是不支持精准匹配/枚举pattern正则是否部分单字自定义分隔符五、内置分析器实战使用方法5.1 方式1字段直接指定内置分析器PUT /test_index { mappings: { properties: { title: { type: text, analyzer: standard // 指定内置分析器 } } } }5.2 方式2测试分析器分词效果POST /_analyze { analyzer: standard, // 替换为任意内置分析器 text: Hello Elasticsearch 6.0 }六、关键注意事项避坑指南6.1 内置分析器不支持中文语义分词所有 ES 内置分析器均不支持中文分词中文会被拆分为单个汉字无法正常搜索中文必须使用IK 分词插件6.2 大小写敏感问题whitespace保留大小写搜索必须完全一致其他分析器自动小写不区分大小写6.3 精准匹配必须用 keyword订单号、手机号、状态等必须使用 keyword 分析器否则分词后无法精准查询6.4 索引与查询分析器必须一致写入和搜索使用不同分析器会导致搜不到数据建议统一使用standard或业务指定分析器七、生产环境最佳实践英文/通用场景使用standard默认纯英文简单文本使用stop去停用词代码/特殊文本使用whitespace精准匹配字段使用keyword自定义分隔符使用pattern中文业务放弃内置分析器使用IK 分词八、总结Elasticsearch 提供6 大内置分析器开箱即用无需插件。standard是默认分析器适合绝大多数英文/基础场景。keyword不分词用于精准匹配、聚合、排序。whitespace仅按空格分词保留原始格式。所有内置分析器不支持中文语义分词中文必须使用 IK 插件。生产根据文本类型、语言、搜索需求选择对应分析器。The End点点关注收藏不迷路