elasticsearch分词器详解

分词器

简介

ES文档的数据拆分成一个个有完整含义的关键词,并将关键词与文档对应,这样就可以通过关键词查询文档

要想正确的分词,需要选择合适的分词器

默认分词器

简介

根据空格和标点符号对英文进行分词,会进行单词的大小写转换

默认分词器是英文分词器,对中文的分词是一字一词

基本使用

复制代码
GET /_analyze

{
  "text": "月木天上",
  "analyzer": "standard"
}          

IK分词器

简介

IK分词器提供了两种分词算法:

ik_smart:最少切分

ik_max_word:最细粒度划分

IK分词器词典

IK分词器根据词典进行分词,词典文件在IK分词器的config目录中:

main.dic:IK中内置的词典。记录了IK统计的所有中文单词

IKAnalyzer.cfg.xml:用于配置自定义词库

基本使用

复制代码
GET /_analyze
{
  "text":"月木天上",
  "analyzer":"ik_smart"
}


GET /_analyze
{
  "text":"月木天上",
  "analyzer":"ik_max_word"
}  

拼音分词器

简介

拼音分词器可以将中文分成对应的全拼,全拼首字母等

基本使用

复制代码
GET /_analyze
{
  "text":"月木天上",
  "analyzer":"pinyin"
}

自定义分词器

简介

真实开发中我们往往需要对一段内容既进行文字分词,又进行拼音分词,此时我们需要自定义ik+pinyin分词器

在创建索引时自定义分词器

复制代码
PUT /索引名
{
  "settings" : {
    "analysis" : {
      "analyzer" : {
        "ik_pinyin" : { //自定义分词器名
          "tokenizer":"ik_max_word", // 基本分词器
          "filter":"pinyin_filter" // 配置分词器过滤
        }
      },
      "filter" : { // 分词器过滤时配置另一个分词器,相当于同时使用两个分词器
        "pinyin_filter" : {
          "type" : "pinyin", // 另一个分词器
          // 拼音分词器的配置
          "keep_separate_first_letter" : false, // 是否分词每个字的首字母
          "keep_full_pinyin" : true, // 是否分词全拼
          "keep_original" : true, // 是否保留原始输入
          "remove_duplicated_term" : true // 是否删除重复项
        }
      }
    }
  },
  "mappings":{
    "properties":{
      "域名1":{
        "type":域的类型,
        "store":是否单独存储,
        "index":是否创建索引,
        "analyzer":分词器
      },
      "域名2":{
        ...
      }
    }
  }
}
相关推荐
muyun28003 分钟前
Docker 下部署 Elasticsearch 8 并集成 Kibana 和 IK 分词器
elasticsearch·docker·容器
大飞pkz39 分钟前
【设计模式】C#反射实现抽象工厂模式
设计模式·c#·抽象工厂模式·c#反射·c#反射实现抽象工厂模式
T06205141 小时前
工具变量-5G试点城市DID数据(2014-2025年
大数据
向往鹰的翱翔2 小时前
BKY莱德因:5大黑科技逆转时光
大数据·人工智能·科技·生活·健康医疗
鸿乃江边鸟3 小时前
向量化和列式存储
大数据·sql·向量化
唐青枫3 小时前
从入门到进阶:C#.NET Stopwatch 计时与性能测量全攻略
c#·.net
IT毕设梦工厂4 小时前
大数据毕业设计选题推荐-基于大数据的客户购物订单数据分析与可视化系统-Hadoop-Spark-数据可视化-BigData
大数据·hadoop·数据分析·spark·毕业设计·源码·bigdata
java水泥工4 小时前
基于Echarts+HTML5可视化数据大屏展示-白茶大数据溯源平台V2
大数据·echarts·html5
广州腾科助你拿下华为认证5 小时前
华为考试:HCIE数通考试难度分析
大数据·华为
在未来等你8 小时前
Elasticsearch面试精讲 Day 17:查询性能调优实践
大数据·分布式·elasticsearch·搜索引擎·面试