网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
{
"token" : "红烧",
"start_offset" : 0,
"end_offset" : 2,
"type" : "word",
"position" : 0
},
{
"token" : "牛肉面",
"start_offset" : 2,
"end_offset" : 5,
"type" : "word",
"position" : 1
}
]
}
![在这里插入图片描述](https://img-blog.csdnimg.cn/d58697f3e16148a3808e09a03de82418.png)
**ik分词器**
ik支持自定义扩展词库,有时候分词的结果不满足我们业务需要,需要根据业务设置专门的词库,词库的作用就是自定义一批关键词,分词的时候优先根据词库设置的关键词分割内容,例如:词库中包含 “上海大学” 关键词,如果对“上海大学在哪里?”进行分词,“上海大学” 会做为一个整体被切割出来。**(需要重启es)**
安装ik插件:
// 到这里找跟自己ES版本一致的插件地址
https://github.com/medcl/elasticsearch-analysis-ik/releases
我本地使用的ES版本是7.8.0,所以选择的Ik插件版本地址是:
https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.8.0/elasticsearch-analysis-ik-7.8.0.zip
安装命令
{ES安装目录}/bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.8.0/elasticsearch-analysis-ik-7.8.0.zip
![在这里插入图片描述](https://img-blog.csdnimg.cn/0845056816e748c39a0350a3ae0c1301.png)
#### ik中文分词效果
ik分词插件支持 ik\_smart 和 ik\_max\_word 两种分词器
ik\_smart - 粗粒度的分词
ik\_max\_word - 会尽可能的枚举可能的关键词,就是分词比较细致一些,会分解出更多的关键词
例1:
GET /_analyze
{
“text”: “上海人民广场麻辣烫”,
“analyzer”: “ik_max_word”
}
输出:
{
“tokens” : [
{
“token” : “上海人”,
“start_offset” : 0,
“end_offset” : 3,
“type” : “CN_WORD”,
“position” : 0
},
{
“token” : “上海”,
“start_offset” : 0,
“end_offset” : 2,
“type” : “CN_WORD”,
“position” : 1
},
{
“token” : “人民”,
“start_offset” : 2,
“end_offset” : 4,
“type” : “CN_WORD”,
“position” : 2
},
{
“token” : “广场”,
“start_offset” : 4,
“end_offset” : 6,
“type” : “CN_WORD”,
“position” : 3
},
{
“token” : “麻辣烫”,
“start_offset” : 6,
“end_offset” : 9,
“type” : “CN_WORD”,
“position” : 4
},
{
“token” : “麻辣”,
“start_offset” : 6,
“end_offset” : 8,
“type” : “CN_WORD”,
“position” : 5
},
{
“token” : “烫”,
“start_offset” : 8,
“end_offset” : 9,
“type” : “CN_CHAR”,
“position” : 6
}
]
}
例2:
GET /_analyze
{
“text”: “上海人民广场麻辣烫”,
“analyzer”: “ik_smart”
}
输出:
{
“tokens” : [
{
“token” : “上海”,
“start_offset” : 0,
“end_offset” : 2,
“type” : “CN_WORD”,
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
很难做到真正的技术提升。**
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!