您当前的位置: 首页 > 

Dongguo丶

暂无认证

  • 2浏览

    0关注

    472博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

31彻底掌握IK中文分词_IK分词器配置文件讲解以及自定义词库实战

Dongguo丶 发布时间:2021-11-23 22:06:42 ,浏览量:2

1、ik配置文件

ik配置文件地址:es/plugins/ik/config目录

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

image-20211122204555128

main.dic:ik原生内置的中文词库,总共有27万多条,只要是这些单词,都会被分在一起 quantifier.dic:放了一些单位相关的词 suffix.dic:放了一些后缀名 surname.dic:中国的姓氏 stopword.dic:英文停用词

ik原生最重要的两个配置文件

1.main.dic:包含了原生的中文词语,会按照这个里面的词语去分词 2.stopword.dic:包含了英文的停用词

停用词stopword:比如a the and at but

一般像停用词,会在分词的时候,直接被干掉,不会建立在倒排索引中

2、自定义词库

(1)自己建立词库:每年都会涌现一些特殊的流行词,网红,蓝瘦香菇,喊麦,鬼畜,一般不会在ik的原生词典里

GET _analyze
{
  "text": "网红",
  "analyzer": "ik_max_word"
}

响应结果

{
  "tokens": [
    {
      "token": "网",
      "start_offset": 0,
      "end_offset": 1,
      "type": "CN_CHAR",
      "position": 0
    },
    {
      "token": "红",
      "start_offset": 1,
      "end_offset": 2,
      "type": "CN_CHAR",
      "position": 1
    }
  ]
}

需要自己补充自己的最新的词语,到ik的词库里面去

IKAnalyzer.cfg.xml:ext_dict设置custom/mydict.dic

custom在IK旧版本是有这个包的,如果新版本没有可以自己创建

image-20211122213210841

创建

image-20211122213037723

添加

image-20211122213028140

补充自己的词语,然后需要重启es,才能生效

GET _analyze
{
  "text": "网红",
  "analyzer": "ik_max_word"
}

响应结果

{
  "tokens": [
    {
      "token": "网红",
      "start_offset": 0,
      "end_offset": 2,
      "type": "CN_WORD",
      "position": 0
    }
  ]
}

(2)自己建立停用词库:比如了,的,啥,么,我们可能并不想去建立索引,让人家搜索

custom/ext_stopword.dic,已经有了常用的中文停用词没有可以自己创建,可以补充自己的停用词,然后重启es

GET _analyze
{
  "text": "啥网红",
  "analyzer": "ik_max_word"
}

响应

{
  "tokens": [
    {
      "token": "啥",
      "start_offset": 0,
      "end_offset": 1,
      "type": "CN_CHAR",
      "position": 0
    },
    {
      "token": "网红",
      "start_offset": 1,
      "end_offset": 3,
      "type": "CN_WORD",
      "position": 1
    }
  ]
}

将啥作为一个停用词

image-20211122214100799

image-20211122213902680重启es

GET _analyze
{
  "text": "啥网红",
  "analyzer": "ik_max_word"
}

响应结果

{
  "tokens": [
    {
      "token": "网红",
      "start_offset": 1,
      "end_offset": 3,
      "type": "CN_WORD",
      "position": 0
    }
  ]
}
关注
打赏
1638062488
查看更多评论
立即登录/注册

微信扫码登录

0.0419s