ElasticSearch之 ik分词器详解

elasticsearch学习(六):IK分词器 IKAnalyzer是一个开源的,基于java语言开发的轻量级的中文分词工具包。从2006年12月推出1.0版开始IKAnalyzer已经推出 了3个大版本。最初,它是以开源项目Lucene为应用主体的,结合词典分词和文法分析算法的中文分词组件。新版本的IKAnalyzer3.0则发展为 面向Java的公用分词组件,独立于Lucene项目,同时提供了对Lucene的默认优化实现。1)采用了特有的“正向迭代最细粒度切分算法“,具有60万字/秒的高速处理能力。 阅读详情

IK分词器

本文分为简介、安装、使用三个角度进行讲解。

简介

倒排索引

众所周知,ES是一个及其强大的搜索引擎,那么它为什么搜索效率极高呢,当然和他的存储方式脱离不了关系,ES采取的是倒排索引,就是反向索引;常见索引结构几乎都是通过key找value,例如Map;倒排索引的优势就是有效利用Value,将多个含有相同Value的值存储至同一位置。

分词器

为了配合倒排索引,分词器也就诞生了,只有合理的利用Value,才会让倒排索引更加高效,如果一整个Value不进行任何操作直接进行存储,那么Value和key毫无区别。分词器Analyzer 通常会对Value进行操作:一、字符过滤,过滤掉html标签;二、分词,英文安装空格将单词分开,中文通常采取高级算法进行分词,显然IK在这方面是做的最好的中文分词;三、单词加工,将大小写全部转换为小写。

IK分词器

IK分词器,提供两种颗粒度拆分(ik_smart ,ik_max_word)

  • ik_smart(最粗粒度拆分)
    • 分割的粒度较小
  • ik_max_word(最细粒度划分)
    • 分割的力度较大
代码测试

使用kinana发送请求


POST /_analyze
{
  "analyzer": "ik_smart",
  "text":"我们一起吃饭"
}
//分词结果  我们  一起  吃饭

POST /_analyze
{
  "analyzer": "ik_max_word",
  "text":"我们一起吃饭"
}

//分词结果 我们 一起 一 起 吃饭 

总结:明显最细粒度划分的切割力度更大

安装

官网下载即可,要和ES版本对应,放到ES 的plugins文件夹下

使用

IK支持自定义扩展词典和停用词典,扩展词典的意思就是,将一些非关键词,设置为关键词;停用词典就是将一些默认的关键词,设置为非关键词

如何配置扩展词典与停用词典

打开ik目录下config/IKAnalyzer.cfg.xml

这里需要写入两个文件名 随便起,后缀要dic。
在这里插入图片描述
在config目录下 创建这两个文件 文档一行只可以写入一个值,具体格式如下

在这里插入图片描述
最后要重启ES服务 才可以生效

扩展词典测试

POST /_analyze
{
  "analyzer": "ik_max_word",
  "text":"李小八"
}
//此时的分词结果是 李 小 八
//我们把李小八这个词添加到扩展词典dict.dic后 分词结果只有李小八

停用词典测试

POST /_analyze
{
  "analyzer": "ik_smart",
  "text":"我们一起吃饭"
}

//此时分词结果为 “我们” “一起” ”吃饭“
//但当我们配置到stopwords.dic 添加吃饭,分词结果就会变成  ”我们“ ”一起“
//              停用词典是不会作为关键字被显示的 

Elasticsearch——IK分词器 分词器的作用是什么?创建倒排索引时,对文档分词用户搜索时,对输入的内容分词IK分词器有几种模式?ik_smart:智能切分,粗粒度ik_max_word:最细切分,细粒度IK分词器如何拓展词条?如何停用词条?利用config目录的IkAnalyzer.cfg.xml文件添加拓展词典和停用词典在词典中添加拓展词条或者停用词条。 阅读详情

相关推荐

03-ES核心概念理解&IK分词器详解

在这个部分总结了2019年到目前为止Java常见面试问题,取其面试核心编写成这份文档笔记,从中分析面试官的心理,摸清面试官的“套路”,可以说搞定90%以上的Java中高级面试没一点难度。本节总结的内容涵盖了:消息队列、Redis缓存、分库分表、读写分离、设计高并发系统、分布式系统、高可用系统、SpringCloud微服务架构等一系列互联网主流高级技术的知识点。(上述只是一个整体目录大纲,每个点里面都有如下所示的详细内容,从面试问题——分析面试官心理——剖析面试题——完美解答的一个过程)!必看视频!

2401_84003839的博客 2244

ElasticSearch之IK分词器安装以及使用介绍

elasticsearch 默认的内置分词器对中文的分词效果可能并不理想,因为它们主要是针对英文等拉丁语系的文本设计的。如果要在中文文本上获得更好的分词效果,我们可以考虑使用中文专用的分词器。IK 分词器是一个开源的中文分词器插件,特别为 Elasticsearch 设计和优化。它在中文文本的分词处理上表现出色,能够根据中文语言习惯进行精细的分词。IK 分词器允许用户自定义词典,可以添加新词、调整词频等,以便更好地适应特定的领域或需求。自定义词典可以提高分词的准确性和召回率。

qq_39939541的博客 1万+

WikiJS全文搜索实战:用ElasticSearch+IK分词器提升内容检索效率(Docker版)

本文详细介绍了如何在WikiJS中通过ElasticSearch和IK分词器实现高效全文搜索,包括Docker环境部署、IK分词器配置、索引优化及WikiJS集成技巧。通过实战案例展示,搜索响应时间从3.2秒降至180毫秒,相关度评分提升47%,显著提升中文内容检索效率。

weixin_30790841的博客 586

ES中文分词器-ik分词器安装

IK分词器安装 1、环境准备 Elasticsearch 要使用 ik,就要先构建 ik 的 jar包,这里要用到 maven 包管理工具,而 maven 需要java 环境,而 Elasticsearch 内置了jdk, 所以可以将JAVA_HOME设置为Elasticsearch 内置的jdk 1)设置JAVA_HOME vim /etc/profile # 在profile文件末尾添加 #java environment export JAVA_HOME=/opt/elasticsearch-7.4.

weixin_49211575的博客 2572

R语言分类变量的统计描述

三篇介绍了连续变量的统计描述的R语言相关函数,计算数值的相关统计指标。本文介绍分类变量的统计描述及如何在R语言中实现。 不同于连续变量,分类变量的统计描述主要是汇总分类变量各类别例数及百分比。 1、table()函数 ...

zsc943290710的博客 1万+

告别环境配置噩梦:用Docker Desktop + WSL2在Windows上5分钟搞定vLLM运行环境

本文详细介绍了如何在Windows系统上使用Docker Desktop和WSL2快速搭建vLLM开发环境,5分钟内完成配置。通过容器化技术解决传统环境配置中的依赖冲突、环境污染等问题,提供一键复用的高效方案,特别适合AI开发者快速部署和测试vLLM框架。

weixin_28728495的博客 502

es 使用ik停词_elasticsearch ik中文分词器的使用详解

(基于es5.4)先喵几眼github,按照步骤安装好分词器 link:https://github.com/medcl/elasticsearch-analysis-ik复习一下常用的操作1.查看集群健康状况GET/_cat/health?v&pretty2.查看my_index的mapping和setting的相关信息GET/my_index?pretty3.查看所有的indexGET...

weixin_39897687的博客 531

半车(前后、左右)、整车悬架详细推导建模和simulink仿真分析

用达朗贝尔定理依据悬架数学模型,得到悬架模型微分方程,分别用simulink建立前后半车、左右半车悬架;结合转向2自由度模型与半车侧倾模型,对模型考虑相干性、延时性的C级随机路面下,仿真分析给定角阶跃输入下的侧倾稳定性。

Mr.邹的博客 1万+

elasticsearch笔记之ik分词器详解

文章目录一、ik分词器是什么?二、使用步骤1.开启服务验证2.ik分词器演示总结 一、ik分词器是什么? 我们都知道,在平时使用搜索引擎搜索东西的时候,我们自己输入的关键字,有可能会被分隔成好几个字或者词,最常见的比如我们使用百度搜索关键字的话,那么所有与该关键字相关的都会显示出来,并把出现关键字的文档标红,而且单条记录可能出现多个标红,如图所示 或者像这样的。,但凡与你的 或者像这样的,但凡文档当中出现了一个或者多个与搜索的关键相匹配的文本,都会被标红。 于是乎,今天我们的主角闪耀登场了,他就是ela

qq_41486775的博客 2312

【代码版本管理】SVN(Subversion)

认知有限,望大家多多包涵,有什么问题也希望能够与大家多交流,共同成长!本文先对SVN(Subversion)代码版本管理做个简单的介绍,具体内容后续再更,其他模块可以参考去我其他文章提示:以下是本篇文章正文内容。

qq_35635374的博客 668

Roboguide与TIA V16通讯

Roboguide与TIA V16通讯

haier123888的博客 2674

在window上安装es,可视化插件head,kibana,ik分词器

在window上安装es声明要求下载 安装elasticsearch安装elasticsearch-head插件要求 node安装安装elasticsearch-head安装kibana要求解压后目录ik分词器下载解压 声明 本文是观看狂神的公开课整理的,但是视频时间太长, 所以整理了一篇博客几分钟就可以完成安装es,kibana,ik 需要安装按个点击目录跳转即可 这里附上视频连接:https://www.bilibili.com/video/BV17a4y1x7zq?p=8&spm_id_fr

心比天高,仗剑走天涯,保持热爱,奔赴向梦想! 4729

php环境如何实现国密SM2相关功能

🏆本文收录于《优快云问答解惑-专业版》专栏,主要记录项目实战过程中的Bug之前因后果及提供真实有效的解决方案,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!

**My Coding Family** 1615

Elasticsearch全文检索中文分词:IK分词器详解与Docker环境集成

IK分词器(IK Analyzer)是Elasticsearch中广泛使用的中文分词插件,专门针对中文文本进行高效的分词处理。

分享实践与思考 3150

【STM32系统】基于STM32设计的锂电池电量/电压检测报警器系统

本设计旨在研究一个基于STM32F103C8T6微控制器的锂电池电量/电压检测报警器系统,应用于便携式电子设备电池管理。系统通过STM32的ADC模块对18650锂电池电压进行采集,利用LCD1602显示模块实时显示电池电压,当检测到电池电量不足或电压异常时,蜂鸣器报警模块会发出警报提醒用户。系统采用简单的硬件结构和优化的软件架构,通过对实际电池电压数据的检测、处理和显示,实现了低功耗、实时监测的锂电池管理功能。本文将介绍系统的设计原理、硬件电路、软件实现以及调试测试过程。

嵌入式阿齐Archie 1万+

windows 配置 libxml2

路径:\libiconv-1.9.2-1-src.zip\src\libiconv\1.9.2\libiconv-1.9.2\include\。执行完后,在当前win32目录中会生成了一个bin.msvc目录,其中就有开发需要的libxml2.lib和libxml2.dll文件。将 libiconv.la 复制到 新建的 lib 目录,并将其改名为 iconv.lib。路径:libiconv-1.9.2-1-bin.zip\lib\。将如下的 iconv.h 复制到新建的 include 目录。

SHELLCODE_8BIT的博客 3884

Linux系统下安装es中ik分词器详解

Linux系统下安装es中ik分词器详解

IT之一小佬的博客 1768

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

elasticsearch ik中文分词器的使用详解

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_33725126的博客 270

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

Elasticsearch——04全文搜索服务器_ES集成ik分词器&类型文档映射

开发十年,就只剩下这套架构体系了! >>> ...

webrl的博客 179

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

ElasticSearch入门(1)——了解ES

ElasticSearch入门(1)——了解ES 文章目录ElasticSearch入门(1)——了解ES1. Lucene2. ElasticSearch1. ES开启跨域2. 索引 - index3. 类型 - type4. 文档 - document5. 分片 - shared6. 集群 - cluster7. 节点 - Node3. IK分词器1. ik_smart - 最少切分2. ik_max_word - 最细粒度划分3. 增加自定义字典4. 请求方式1. PUT2. GET3. POST5.

qq_40788718的博客 2427

[Linux安装软件详解系列]05 安装ElasticSearch和IK分词器

很多场景会使用到全局搜索的功能,全局搜索包含的内容和字段往往较多,还需要分词的搜索结果,我采取ElasticSearch的方案,本文为ElasticSearch与对应IK分词器的安装教程。

专注于技术开发、项目管理 1218

ElasticSearch 7.15.2详解(三):核心概念、IK分词器

分词:即把一段中文或者别的划分成一个个的关键字,我们在搜索时候会把自己的信息进行分词

weixin_45181611的博客 625

Spring Boot集成Elasticsearch安装使用(详解)+ik分词器使用(详解)

Spring Boot整合Elasticsearch安装与具体使用(详解)+ik分词器使用(详解)

m0_71202849的博客 3668

Elasticsearch Windows部署与IK分词器集成:Docker方案详解与排坑指南

全文搜索引擎是现代应用处理海量非结构化数据、实现高效检索的核心技术,其底层依赖于倒排索引等数据结构实现快速匹配。Elasticsearch作为分布式搜索与分析引擎,凭借其可扩展性和丰富的查询功能,在日志分析、商品搜索等场景广泛应用。然而,从关系型数据库转向Elasticsearch时,环境部署常成为首要障碍,尤其是在Windows平台上面临系统参数不兼容等问题。本文聚焦于**环境部署**这一基础环节,通过对比Windows原生、Docker及WSL2等方案,详细阐述如何利用**Docker容器化**技术,在

weixin_33922672的博客 412

知识点13--spring boot整合elasticsearch以及ES高亮

本章知识点沿用知识点11的项目,介绍如何使用spring boot整合ES,没有ES的去我主页中可以看到ES如何搭建不管你有没有ES,最好是没有,因为一定要知道一点,一定要去官网查一下你当前用的spring boot data es的版本是不是和你自己ES服务器所匹配的,这一点简直是天坑,spring boot提供的es封装API对es的版本要求相当苛刻,对不上就用不了,很多人折在版本问题,奉劝大家一句,除非正式的项目开发上,团队会给你提供需要版本的jar,正式开发本身版本都是经过架构师仔细考虑并且版本方面

别人笑我太疯癫,我笑他人看不穿。 3214
上一篇: Kibana操作ES 全覆盖 基础查询 DSL查询
下一篇: Springboot 集成整合mybatis plus 操作全集
一个没有梦想的程序员
博客等级 码龄7年 20粉丝 21原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值