新闻详情

新闻详情

首页 / 资讯中心 / 详情

Elasticsearch中ik_max_word和 ik_smart的区别

发布时间:2026/9/13 1:20:02来源:尧图网络
Elasticsearch中ik_max_word和 ik_smart的区别
目录ik_max_word和 ik_smart介绍最佳实践ik_max_word和 ik_smart介绍学习过Solr或Elasticsearch的同学都知道IK分词器它是一个针对中文的分词器。IK分词器地址https://github.com/medcl/elasticsearch-analysis-ikIK分词器有两种分词模式ik_max_word和ik_smart模式。课程文档https://yjoffer.com/springcloud/chapter6/chapter6.html1、ik_max_word会将文本做最细粒度的拆分比如会将“中华人民共和国人民大会堂”拆分为“中华人民共和国、中华人民、中华、华人、人民共和国、人民、共和国、大会堂、大会、会堂等词语。2、ik_smart会做最粗粒度的拆分比如会将“中华人民共和国人民大会堂”拆分为中华人民共和国、人民大会堂。测试两种分词模式的效果发送post localhost:9200/_analyze测试ik_max_word{“text”:“中华人民共和国人民大会堂”,“analyzer”:“ik_max_word” }测试ik_smart{“text”:“中华人民共和国人民大会堂”,“analyzer”:“ik_smart” }最佳实践两种分词器使用的最佳实践是索引时用ik_max_word在搜索时用ik_smart。即索引时最大化的将文章内容分词搜索时更精确的搜索到想要的结果。举个例子我是个用户输入“华为手机”我此时的想法是想搜索出“华为手机”的商品而不是华为其它的商品也就是商品信息中必须只有华为手机这个词。此时使用ik_smart和ik_max_word都会将华为手机拆分为华为和手机两个词那些只包括“华为”这个词的信息也被搜索出来了我的目标是搜索只包含华为手机这个词的信息这没有满足我的目标。怎么解决呢我们可以将华为手机添加到自定义词库添加后两个分词器的效果为ik_max_word 的分词效果{“tokens”: [{“token”: “华为手机”,“start_offset”: 0,“end_offset”: 4,“type”: “CN_WORD”,“position”: 0},{“token”: “华为”,“start_offset”: 0,“end_offset”: 2,“type”: “CN_WORD”,“position”: 1},{“token”: “手机”,“start_offset”: 2,“end_offset”: 4,“type”: “CN_WORD”,“position”: 2}]}ik_smart的分词效果{“tokens”: [{“token”: “华为手机”,“start_offset”: 0,“end_offset”: 4,“type”: “CN_WORD”,“position”: 0}]}看到两个分词器的区别了吧因为华为手机是一个词所以ik_smart不再细粒度分了。此时我们可以在索引时使用 ik_max_word在搜索时用ik_smart。当输入 华为手机 关键字只搜索到 包含华为手机的信息符合用户要求。如果我想将包含华为 这个词的信息也搜索出来怎么办呢那就输入 “华为 华为手机”注意华为后边有个空格那就会将包含华为、华为手机的信息都搜索出来。根据上边举的例子可以思考下我想搜索手机壳怎么办用户肯定只想搜索出手机壳的信息不想搜索出来一推手机。根据上边举的例子可以思考下如果搜索时用ik_max_word会有什么结果。
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

点云数据采集:三维感知的第一道质量闸门 2026/9/13 1:56:08

点云数据采集:三维感知的第一道质量闸门

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
WebSocket实战:从握手到心跳,详解连接管理与断线重连 2026/9/13 1:56:08

WebSocket实战:从握手到心跳,详解连接管理与断线重连

简介:这是一份WebSocket服务器端与客户端完整示例,面向需要快速上手实时通信开发的.NET与Web前端开发者。服务器端采用C# WinForm应用(.NET Framework 4.5),客户端为HTMLJavaScript,两者配合演示了从建立持…

阅读更多 →
轴承寿命预测中的时域变换:从振动特征到剩余寿命建模 2026/9/13 1:56:08

轴承寿命预测中的时域变换:从振动特征到剩余寿命建模

简介:面向工业物联网与设备健康管理场景的轴承寿命预测MATLAB代码包,适合从事故障诊断、预测性维护研究的工程师及高校学生。压缩包仅1KB,包含3个m文件,代码结构精炼,覆盖数据读取、预处理、时域特征提取与寿命预测建模…

阅读更多 →
MATLAB读取JPEG DCT系数:JPEG Toolbox详解与编译指南 2026/9/13 1:56:08

MATLAB读取JPEG DCT系数:JPEG Toolbox详解与编译指南

简介:这套JPEG Toolbox压缩包面向需要在MATLAB中处理JPEG图像的科研人员与工程师,解决JPEG文件读写及格式转换等问题。资源共10个文件,包含jpeg_read.c与jpeg_write.c两份核心C源码,以及面向Linux 64位、Linux图形库、Windows 32/…

阅读更多 →
Java+JSP+Servlet+MySQL高校社团管理系统开发部署实战 2026/9/13 1:56:08

Java+JSP+Servlet+MySQL高校社团管理系统开发部署实战

简介:这是一份基于Java Web技术栈的高校社团管理系统的完整项目资料,包含全套源码、演示视频与配套说明文档,面向计算机相关专业学生、毕业设计/课程设计开发者,也适合作为Java Web课程综合实践的参考范例。系统围绕学生、社长、管…

阅读更多 →
多模态视觉大模型开发实战:OpenCV与新生态协同指南 2026/9/13 1:53:08

多模态视觉大模型开发实战:OpenCV与新生态协同指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞