ElasticSearch-ik分词器介绍及使用
ElasticSearch-ik分词器
IK分词器安装使用
下载地址:https://github.com/medcl/elasticsearch-analysis-ik/releases
下载对应版本即可:
安装:
下载箭头中的压缩包就行了,下载之后解压到elasticsearch的plugins的一个文件夹ik(ik文件夹自己创建,可以随意命名,不可用中文名和特殊字符),然后重启elasticsearch生效。
重启ElasticSearch:
ik分词器解释
分词:
即把一段中文或者别的划分成一个个的关键字,我们在搜索时候会把自己的信息进行分词,会把数据库中或者索引库中的数据进行分词,然后进行一个匹配操作,默认的中文分词是将每个字看成一个词。比如“我爱狂神”会被分为"我",“爱”,“狂”,“神” ,这显然是不符合要求的,所以我们需要安装
中文分词器ik
来解决这个问题。
IK提供了两个分词算法: ik_smart
和ik_max_word
ik_smart为最少切分
ik_max_word为最细粒度划分
:穷尽词库的可能
查看不同的分词效果:
思考:
为什么
ik_max_word
分词器会分出国共
这个词呢?后边我们会讲到字典。
ZGGCD
是一个完整的词:即最少切分
ZGGCD
可以拆分成不同的词:即最细粒度划分
字典
查看conf中的IKAnalyzer.cfg.xml
文件
我们写自己的字典,然后重启ElasticSearch:
加入自己的字典前后对比:狂神说
成为一个关键词。
使用IK分词器
参考官网:https://github.com/medcl/elasticsearch-analysis-ik
- 创建index索引,并指定analyzer和search_analyzer
analyzer和search_analyzer 在索引时,只会去看字段有没有定义analyzer,有定义的话就用定义的,没定义就用ES预设的 在查询时,会先去看字段有没有定义search_analyzer,如果没有定义,就去看有没有analyzer,再没有定义,才会去使用ES预设的
-
准备数据:其中红色划线部分,smart分词算法将划为一个词组
-
测试下:
-
先看分词效果
-
查询测试下
-
标签:
ElasticSearch
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本