前言
一个 tokenizer(分词器)接收一个字符流,将之分割为独立的 tokens(词元,通常是独立的单词),然后输出 tokens 流。
例如,whitespace tokenizer 遇到空白字符时分割文本。它会将文本 “Quick brown fox!” 分割为 [Quick, brown, fox!]。
该 tokenizer(分词器)还负责记录各个 term(词条)的顺序或 position 位置(用于 phrase 短语和 word proximity 词近邻查询),以及 term(词条)所代表的原始 word(单词)的 start(起始)和 end(结束)的 character offsets(字符偏移量)(用于高亮显示搜索的内容)。
Elasticsearch 提供了很多内置的分词器,可以用来构建 custom analyzers(自定义分词器)。
安装elasticsearch-analysis-ik
分词器需要和elasticsearch
的版本匹配。我第一次安装没有匹配版本就导致分词器不能使用、安装后还报错
1、安装 ik 分词器
1.1 查看版本匹配
这里也有个小坑、我的是elasticsearch
版本是7.17.2 ,然后这个版本也没说8.几
的不能用,第一次装了一个最新的版本;装完后、发现版本不匹配。又重新下载安装了同一个版本的elasticsearch-analysis-ik
版本对应位置:https://github.com/medcl/elasticsearch-analysis-ik/blob/master/README.md
1.2 下载对应版本的分词器
分词器 https://github.com/medcl/elasticsearch-analysis-ik
1.3 安装、查看
直接将文件解压,放入到plugins目录下。如果你进行了目录挂载,就可以在容器外部操作。我这里进行了挂载,只需要将解压后的文件放入到对应挂载目录就可以。
2、测试分词器
1.1 默认分词器
POST _analyze
{
"text": "我是中国人"
}
1.2 使用分词器(1)
POST _analyze
{
"analyzer": "ik\_smart",
"text": "我是中国人"
}
1.3 使用分词器(2)
POST _analyze
{
"analyzer": "ik\_max\_word",
"text": "我是中国人"
}
提示:能够看出不同的分词器,分词有明显的区别,所以以后定义一个索引不能再使用默认的 mapping 了,要手工建立 mapping, 因为要选择分词器
3、自定义词库
3.1 修改IKAnalyzer.cfg.xml
修改/usr/share/elasticsearch/plugins/ik/config/中的 IKAnalyzer.cfg.xml ,如果进行了目录挂载,只需要在外部对应目录修改就行,我这里的外部挂载目录是:/mydata/elasticsearch/plugins/ik/config
3.2 nginx的设置
首先你要安装了nginx,我这以下操作步骤是基于nginx挂载到外部目录。
需要将这个链接地址放置到IKAnalyzer.cfg.xml
中对应的远程词库目录
1.3 测试
POST _analyze
{
"analyzer": "ik\_max\_word",
"text": "汪汪队和猪猪对讨论乔碧罗"
}
5、后语
我这里最终的目的是项目中要使用到分词器的使用、不安装不行要执行的语句
我的代码执行结束后、报的是这个索引找不到。所以要创建、创建又需要用到分词器。
##创建一个gulimall_product新的索引
PUT gulimall_product
**自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。**
**深知大多数大数据工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!**
**因此收集整理了一份《2024年大数据全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。**
![img](https://img-blog.csdnimg.cn/img_convert/83fe2cabaa2f5822c3d501e10a19f29b.png)
![img](https://img-blog.csdnimg.cn/img_convert/472084e76fd7385b02c8a5966d97ac79.png)
![img](https://img-blog.csdnimg.cn/img_convert/a4638cdfa5a8dd9842af0735205c2493.png)
![img](https://img-blog.csdnimg.cn/img_convert/fa7719bf216787f8e6c86cfc9e94f8ad.png)
![img](https://img-blog.csdnimg.cn/img_convert/2136bf72d6a4503ece6e8de714e1bae3.png)
**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上大数据开发知识点,真正体系化!**
**由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新**
**如果你觉得这些内容对你有帮助,可以添加VX:vip204888 (备注大数据获取)**
![img](https://img-blog.csdnimg.cn/img_convert/38f309fd4198c5f27505e7be48c8b084.png)
学习提升的进阶课程,基本涵盖了95%以上大数据开发知识点,真正体系化!**
**由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新**
**如果你觉得这些内容对你有帮助,可以添加VX:vip204888 (备注大数据获取)**
[外链图片转存中...(img-ul2skXcu-1712874248657)]