当前位置: 首页 > news >正文

Elasticsearch ik分词器的安装和使用

1、简介

Ik分词器就是一款中文分词器。
分词:把一段文字划分成一个个关键字,我们在搜索的时候会对自己的信息进行分词,会把数据库中或者索引库中的数据进行分词,然后进行一个匹配操作。

默认的中文分词会将每个字看成一个词,比如“今天天气很好“会被分成 今、天、天、气、很、好,这显然是不符合要求的,可能我们需要分成 今天、天气、很好、天气很好等,所以我们需要安装Ik分词器来解决这个问题。

示例:对“今天天气很好” 进行分词

 IK分词器提供了两个分词算法:ik_smart和ik_max_word
ik_smart :最少切分,添加了歧义识别功能,推荐。
ik_max_word:最细切分,能切的都会被切掉。

2、集成ik分词器

2.1 下载

下载地址:Releases · medcl/elasticsearch-analysis-ik · GitHub

注意:下载版本需与Elasticsearch版本对应。

由于之前用的elasticsearch是8.4.0,版本过高,因需求后改成了8.0.0的环境。

2.2 安装

需创建ik文件夹,将解压后的文件放在ik文件夹内。

解压 elasticsearch-analysis-ik-8.0.0.zip

最终的目录结构: 

2.3 重启Elasticsearch 

看下ES启动是否成功

3、使用ik分词器

3.1 ik_smart最少切分,添加了歧义识别功能

GET _analyze
{
  "analyzer": "ik_smart",
  "text": ["今天天气很好"]
}

3.2 ik_max_word最细切分 

 GET _analyze
{
  "analyzer": "ik_max_word",
  "text": ["今天天气很好"]
}

3.3 自定义分词效果

3.3.1 添加词典文件

 3.3.2 修改配置文件IKAnalyzer.cfg.xml

重启Elasticsearch

 

相关文章:

  • 【Spring Authorization Server 系列】(四)JWS 的签名方式
  • Vue中的循环渲染v-for
  • openresty + prometheus + grafana 搭建。监控网络请求
  • 复盘:统计学派(频率学派)跟贝叶斯学派(贝叶斯公式、朴素贝叶斯)的定义和区别,奥卡姆剃刀和最大似然跟谁更接近
  • Java数据类型与变量
  • od笔试记录
  • Code Review
  • Kubernetes部署服务通过Ingress访问报错413解决
  • 3如何搭建组件库的样式工程之button-scss
  • 飞书第三方ISV服务商应用开发及上架教程
  • JavaScript 运算符和表达式(二)
  • js arr.reduce() reduce方法应用
  • Day 56 Django 连接数据库 ORM
  • 深度学习中的激活函数有哪些?
  • Image through Atmospheric Turbulence笔记(一)
  • 【跃迁之路】【735天】程序员高效学习方法论探索系列(实验阶段492-2019.2.25)...
  • FastReport在线报表设计器工作原理
  • iBatis和MyBatis在使用ResultMap对应关系时的区别
  • iOS动画编程-View动画[ 1 ] 基础View动画
  • JAVA SE 6 GC调优笔记
  • Java编程基础24——递归练习
  • linux学习笔记
  • nginx 负载服务器优化
  • Octave 入门
  • PHP的类修饰符与访问修饰符
  • 从0到1:PostCSS 插件开发最佳实践
  • 诡异!React stopPropagation失灵
  • 力扣(LeetCode)22
  • 模仿 Go Sort 排序接口实现的自定义排序
  • 如何合理的规划jvm性能调优
  • 如何将自己的网站分享到QQ空间,微信,微博等等
  • 线上 python http server profile 实践
  • 在weex里面使用chart图表
  • nb
  • $HTTP_POST_VARS['']和$_POST['']的区别
  • (007)XHTML文档之标题——h1~h6
  • (一)Mocha源码阅读: 项目结构及命令行启动
  • (一)Spring Cloud 直击微服务作用、架构应用、hystrix降级
  • (转)德国人的记事本
  • (转)关于多人操作数据的处理策略
  • (转载)OpenStack Hacker养成指南
  • ./include/caffe/util/cudnn.hpp: In function ‘const char* cudnnGetErrorString(cudnnStatus_t)’: ./incl
  • .equals()到底是什么意思?
  • .NET core 自定义过滤器 Filter 实现webapi RestFul 统一接口数据返回格式
  • ?php echo ?,?php echo Hello world!;?
  • @SuppressWarnings(unchecked)代码的作用
  • [2010-8-30]
  • [20180129]bash显示path环境变量.txt
  • [AIGC] MySQL存储引擎详解
  • [Android]竖直滑动选择器WheelView的实现
  • [Android学习笔记]ScrollView的使用
  • [BSGS算法]纯水斐波那契数列
  • [CF494C]Helping People
  • [EFI]ASUS EX-B365M-V5 Gold G5400 CPU电脑 Hackintosh 黑苹果引导文件
  • [ExtJS5学习笔记]第三十节 sencha extjs 5表格gridpanel分组汇总