【ElasticSearch】分词器(ElasticSearchIK分词器)

文章目录

  • 1. 分词器介绍
  • 2. ik 分词器安装
  • 3. 分词器的使用


在这里插入图片描述

1. 分词器介绍

•IKAnalyzer 是一个开源的,基于java语言开发的轻量级的中文分词工具包
•是一个基于Maven构建的项目
•具有60万字/秒的高速处理能力
•支持用户词典扩展定义

2. ik 分词器安装


IK 分词器安装

3. 分词器的使用

IK分词器有两种分词模式:ik_max_word 和 ik_smart 模式。
1、ik_max_word
会将文本做最细粒度的拆分,比如会将“秦始皇陵兵马俑”拆分为很多词。

#方式一ik_max_word
GET /_analyze
{"analyzer": "ik_max_word","text": "秦始皇陵兵马俑"
}

ik_max_word分词器执行如下:

{"tokens" : [{"token" : "秦始皇陵","start_offset" : 0,"end_offset" : 4,"type" : "CN_WORD","position" : 0},{"token" : "秦始皇","start_offset" : 0,"end_offset" : 3,"type" : "CN_WORD","position" : 1},{"token" : "始皇","start_offset" : 1,"end_offset" : 3,"type" : "CN_WORD","position" : 2},{"token" : "皇陵","start_offset" : 2,"end_offset" : 4,"type" : "CN_WORD","position" : 3},{"token" : "兵马俑","start_offset" : 4,"end_offset" : 7,"type" : "CN_WORD","position" : 4},{"token" : "兵马","start_offset" : 4,"end_offset" : 6,"type" : "CN_WORD","position" : 5},{"token" : "俑","start_offset" : 6,"end_offset" : 7,"type" : "CN_CHAR","position" : 6}]
}

在这里插入图片描述

2、ik_smart 会做最粗粒度的拆分,比如会将“秦始皇陵兵马俑”拆分为只有两个词。

#方式二ik_smart
GET /_analyze
{"analyzer": "ik_smart","text": "秦始皇陵兵马俑"
}

ik_smart分词器执行如下:

{"tokens" : [{"token" : "秦始皇陵","start_offset" : 0,"end_offset" : 4,"type" : "CN_WORD","position" : 0},{"token" : "兵马俑","start_offset" : 4,"end_offset" : 7,"type" : "CN_WORD","position" : 1}]
}

在这里插入图片描述

我们可以根据业务不同 选择具体的分词方式。



在这里插入图片描述



本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/590084.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Vue 学习随笔系列十二 -- 表格内容渲染方法

表格内容渲染方法 文章目录 表格内容渲染方法1、使用 formatter 函数2、 使用 render 函数3、使用 template 自定义4、使用 slot 插槽5、注意 1、使用 formatter 函数 示例代码1 <el-table-column prop"status" label"状态" align"center" …

一文解决IDea中Springboot 热部署:IDEA中Spring Boot应用热部署的几种方式及操作步骤

在快节奏的软件开发过程中&#xff0c;热部署&#xff08;Hot Deployment&#xff09;功能对于提升开发效率至关重要。尤其是在使用Spring Boot框架进行开发时&#xff0c;能够实现代码的即时更新和应用的无需重启&#xff0c;极大地节省了开发时间&#xff0c;提高了迭代速度。…

MFC 获取程序版本信息

在 MFC 应用程序中&#xff0c;可以使用 GetFileVersionInfo 函数来获取程序版本信息。这个函数能够获取一个指定文件的版本信息&#xff0c;并将其存储在一个缓冲区中。然后&#xff0c;可以使用 VerQueryValue 函数来解析版本信息并提取所需的信息。 #include <afxver_.h&…

浅谈分布式光伏电站的运维管理

摘要&#xff1a;随着近些年我国对节能降耗关注力度的持续加大&#xff0c;为满足人们不断增长的电能需求&#xff0c;光伏发电产业得到迅猛发展&#xff0c;其中分布式光伏发电的比重持续增长。在打赢脱贫攻坚战的大背景下&#xff0c;国家电网公司探索出一条“阳光扶贫”的扶…

vue实现导出列表为xlsx文件

1.安装依赖 npm install --save xlsx file-saver 2.引入依赖 import FileSaver from file-saver; import * as XLSX from xlsx; 3.代码实现 <el-button type"primary" click"exportData">导出数据</el-button><el-tableid"table_ex…

IoT数采平台4:测试

IoT数采平台1&#xff1a;开篇IoT数采平台2&#xff1a;文档IoT数采平台3&#xff1a;功能IoT数采平台4&#xff1a;测试 Modbus RTU串口测试 OPC测试 HTTP测试 MQTT透传测试 MQTT网关测试及数据上报 TCP / UDP 监听&#xff0c;客户端连上后发送信息&#xff0c;客户端上报数据…

Making Anti-Palindromes

题目链接 Codeforces Round 867 (Div. 3) E. Making Anti-Palindromes 挺好的一道鸽巢原理题。 思路&#xff1a; 贪心地来想&#xff0c;我们没必要动本来就不同的一对&#xff0c;而对相同的对&#xff0c;我们可以让它们互相之间进行交换&#xff0c;这样一次交换就可以…

java面试题(3)|解释 null 和 “null“ 之间的区别,并举例说明它们在编程中的使用场景

null 和 "null" 之间的区别主要在于语义和数据类型上&#xff1a; null 是一个特殊的值&#xff0c;通常用于表示缺少有效值或未定义的变量。在许多编程语言中&#xff0c;null是一个关键字&#xff0c;表示空值。例如&#xff0c;在Java中&#xff0c;当一个对象尚…