三、IK分词器

IK分词器,全名IKAnalyzer,是一个开源的,基于Java语言开发的轻量级中文分词工具包。

1.主要算法

支持对中文进行分词,提供了两种分词算法

ik_smart:最少切分
ik_max_word:最细粒度划分

2.安装IK分词器

2.1 关闭es服务
2.2 上传ik分词器到虚拟机

tips: ik分词器的版本要和es版本保持一致

2.3 解压

解压ik分词器到elasticsearch的plugins目录下

unzip elasticsearch-analysis-ik-7.17.0.zip -d /usr/local/elasticsearch1/plugins/analysis-ik
2.4 启动ES服务
su es

#进入ES安装文件夹:
cd /usr/local/elasticsearch1/bin/

#启动ES服务:
./elasticsearch -d
2.5 测试分词器效果
#算法1
GET /_analyze
{
 "text":"测试语句",
 "analyzer":"ik\_smart"
}

eg:
GET /_analyze
{
  "text": "我爱美羊羊",
  "analyzer": "ik\_smart"
}

自己开发es分词器插件 es默认的分词器_elasticsearch

#算法2
GET /_analyze
{
 "text":"测试语句",
 "analyzer":"ik\_max\_word"
}

eg:
GET /_analyze
{
  "text": "我爱美羊羊",
  "analyzer": "ik\_max\_word"
}

自己开发es分词器插件 es默认的分词器_c#_02

2.6 IK分词器词典

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

  • main.dic:IK中内置的词典。记录了IK统计的所有中文单词。
  • IKAnalyzer.cfg.xml:用于配置自定义词库。

四、拼音分词器

自己开发es分词器插件 es默认的分词器_elasticsearch_03

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

1.安装

和ik分词器安装一样,也是先将es服务关闭,将拼音分词器上传至虚拟机,并且分词器版本需要和es版本一致(参考ik分词器安装)

2.测试分词效果

GET /_analyze
{
 "text":测试语句,
 "analyzer":pinyin
}

eg:
GET /_analyze
{
  "text": "xi yang yang",
  "analyzer": "pinyin"
}

自己开发es分词器插件 es默认的分词器_elasticsearch_04

五、自定义分词器

自己开发es分词器插件 es默认的分词器_elasticsearch_05

前面两种分词器,各有优点,但是他们的功能确实不够完备,比如使用ik分词器可以对中文进行分词,但是却不能对拼音分词;所以在现实开发中,我们一般使用自定义分词器进行分词,这样既可以对文字分词,也可以对拼音分词,现在咱们来研究一下如何写一个ik+pinyin分词器。

1.创建自定义分词器

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 // 是否删除重复项


![img]()
![img]()
![img]()

**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!**

**由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新**

**[需要这份系统化资料的朋友,可以戳这里获取]()**

适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!**

**由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新**

**[需要这份系统化资料的朋友,可以戳这里获取]()**