Elasticsearch (ES) 学习之路(三) IK 分词器安装与使用自定义词典

news/2024/7/7 5:58:09 标签: es, elasticsearch, 大数据

Elasticsearch (ES) 学习之路三 IK 分词器安装与使用

IK分词器在是一款 基于词典和规则 的中文分词器,如果项目所做业务为国内业务 那么使用IK分词器 即可满足大部分 分词场景

IK 分词安装(Win)

解压上文中下载的IK 分词器压缩包 解压到 es 安装目录下的 plugins 下 新建 ik 目录

ess=image/format,png" alt="image-20200627173011026" />

解压后 ,从起ES,查看是否读取插件

ess=image/format,png" alt="image-20200627173133706" />

kibanna 中 使用

ess=image/format,png" alt="image-20200627173312018" />

IK 分词器两种分词算法

ik_smart

最少切分算法

当前切分 算法为最少切分法 何为最少切分呢,即按照其自身词典,尽可能的减少切分次数(即分词不会非常详细)进项分词 ,不会出现 一个字多个词使用的情况下 例如 成都市 最少切分可能为 成都、市 或者成都市 一个词

ess=image/format,png" alt="image-20200627173747810" />

ik_max_word

最细粒度切分算法

当前切分方法 为最细粒度切分 ,会根据其字典 尽最大可能切分 切分的非常详细 例如 切分 成都市 可能切分出 成都、都市、市等几个词

ess=image/format,png" alt="image-20200627174155593" />

从上边 即可简单的理解 何为最少切分和 最细粒度切分

但是,我们也会发现一些问题,无论我是使用了最少切分还是最细粒度切分 我的"南城都汇都被拆开了" (此为我小区名)那我要是以南城都汇查询岂不是查不到了???那这时候怎么办呢??

ess=image/format,png" alt="" />

首先,咱们还是得分析出现此问题的原因

前边也说了,其分词是基于自身的一个词典 进行分词的,出现此情况原因在于 ‘南城都汇’ 这个词,我们的词典没有,所以不会吧这几个字切分为词,

那么我们是不是可以根据一些业务场景自定义词典呢?

答案是:当然可以!

IK 分词器 自定义词典

进入咱们的es plugins 下 进入ik分词器 目录,发现其配置文件中 ,说明了用户是可以自定义词典的!

ess=image/format,png" alt="image-20200627175013273" />

ess=image/format,png" alt="image-20200627175123333" />


IK 分词的核心 也是分词依据 根据词典中的字 进行分词

ess=image/format,png" alt="image-20200627175157187" />

那么我们按着此模式,也新建一个词典 随意取名.dic

例如我定义一个词典 cd.dic 在其中输入我业务场景所用的南城都汇

ess=image/format,png" alt="image-20200627175454063" />

在修改我们的配置文件 加入我们的自定义词典

ess=image/format,png" alt="image-20200627175543019" />

从起es 测试 南城都汇 是否会分为一个完整的词汇

ess=image/format,png" alt="image-20200627175733647" />

发现是可以的 那么说明,咱们自定义词典也完成了

目前IK 分词的基础使用就到这里,后续在项目中使用!!!


http://www.niftyadmin.cn/n/1327941.html

相关文章

java学生成绩管理系统类图,学生成绩管理系统的分析及设计-应用UML建模

《学生成绩管理系统的分析及设计-应用UML建模》由会员分享,可在线阅读,更多相关《学生成绩管理系统的分析及设计-应用UML建模(48页珍藏版)》请在人人文库网上搜索。1、第1章 系统需求学生成绩管理系统的域1描述如下:在学生成绩管理系统中&…

ElasticSearch (ES)学习之路(四)ES 中个别专有名词解释,以及在Kibanna中使用Resful风格操作ES

ElasticSearch (ES)学习之路(四)ES 中个别专有名词解释,以及在Kibanna中使用Resful风格操作ES (一)个别名词解释: Cluster (集群) 一个集群包含一个或多个分配了相同的集群名称的…

tp5.0引入php,ThinkPHP5.0 使用phpexcel导入数据库

先把html代码贴出来(整个导入导出的):导入的方法:网上试了好多方法,不是找不到update类就是引入某些文件引入不进来。然后东拼西凑的写法,解决了以上问题。需要用到一个ExcelToArrary.class.php这样的文件。(后面附上文件 以及详细…

ElasticSearch (ES)学习之路(五)ES 复杂搜索( 匹配 过滤 精准 排序 高亮)

ElasticSearch (ES)学习之路(五)ES 复杂搜索( 匹配 过滤 精准 排序 高亮) 在上文中,我们查询小丽在kinbana中,查询语法是这样写的 GET /lei/one/_search?qname:小丽前文中,也是做了分析&…

php超连接相应页面,怎么给一个PHP密码访问页面加超链接

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼$password "1234"; // 这里是密码$p "";if(isset($_COOKIE["isview"]) and $_COOKIE["isview"] $password){$isview true;}else{if(isset($_POST["pwd"])){if($_POST["…

ElasticSearch (ES)学习之路(六)Springboot2.3.1整合ES 7.6.1

ElasticSearch (ES)学习之路&#xff08;六&#xff09;Springboot2.3.1整合ES 7.6.1 本文采用springboot2.3.1版本 es版本为7.6.1 引入依赖 maven <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-…

php实现app购物车,php实现购物车功能(以大苹果购物网为例)

首先是几个简单的登录页面登录用户名&#xff1a;密 码&#xff1a;登录页面写好之后&#xff0c;需要进入处理页面&#xff0c;从数据库中调出用户名和密码&#xff1a;session_start(); //开启session 必须要写到第一行header("Content-type:text/html;charsetutf-8&quo…

docker 安装开发中常用服务以及软件

Docker学习之路&#xff08;七&#xff09; 软件安装篇 mysql 、mongodb、redis-cluster、rabbitmq Docker 学习之路 --软件安装篇 加深docker学习映像 安装多个项目可能所用软件 把开发项目打成镜像运行 镜像的各种版本号 具体可查看 Dokerhub 官网&#xff1a;Docker Hub …