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

IK分词器

IK分词器

IK分词器是elasticsearch中最受欢迎的中文插件之一,它专门针对中文文本的处理进行了优化,解决了Elasticsearch默认分词器对中文支持不足的问题。

IK分词器是一款·开源的中文分词工具包,最初是由Luncene设计的,后来被集成到Elasticsearch中成为了插件,它基于java进行开发。

IK分词器的发展史:

  • 最初以开源项目Luence为应用主体

  • 3.0版本开始发展为面向java的分词组件。

  • 2012版本实现了简单的分词歧义排除算法。

  • 后被Elasticsearch开发工程师medcl集成到Elasticsearch中。

IK分词器的两种模式:

  1. IK_smart模式:智能拆分,最粗粒度拆分。

    • 最少切分,添加了歧义识别功能。

    • 适合Phrase查询

      • Phrase查询(短语查询)是一种精确匹配连续词语顺序的搜索方式,要求文档中的字段必须按指定顺序包含完整的查询短语(包括词语顺序和位置)。

    • 例如:"中华人民共和国国歌"会被拆分为"中华人民共和国,国歌‘’

  1. IK_max_word模式:最细粒度划分

    • 能切的词都会被切掉。

    • 适合Term查询

      • Term查询是一种用于精确值匹配的基础查询,它直接搜索未经分词的字段原始值(即不经过分析器处理),适用于精确匹配关键字、数值、日期等。

    • 例如:"中华人民共和国国歌"会被拆分为"中华人民共和国,中华人民,中华,华人,人民共和国,人民,人,民,共和国,共和,和,国国,国歌"

    维度最粗粒度拆分最细粒度划分
    分片大小大(文档多)小(文档少)
    分片数量
    扩展性差(需重建索引)好(动态分配)
    查询性能低(单分片压力大)高(并行处理)
    适用场景小数据量、低负载大数据量、高并发

    其他重要特性:

    • 支持自定义字典

    • 高性能处理能力

    • 多语言支持

    • 拼音分词功能

    在IK分词器的使用

    # ik_smart 分词模式
    GET _analyze
    {"analyzer": "ik_smart","text": "苦海无涯,回头是岸"
    }
    ​
    # ik_max_word 分词模式
    GET _analyze
    {"analyzer": "ik_max_word","text": "苦海无涯,回头是岸"
    }

    总结:IK分词器作为Elasticsearch中最受欢迎的中文分词,凭借其高效的分词算法、灵活的配置方式和良好的性能,成为处理中文搜索场景的首选工具。在面试中,面试官通常会围绕IK分词器的基本概念、两种分词模式的区别、安装配置方法以及实际应用场景等方面提问。

http://www.xdnf.cn/news/13231.html

相关文章:

  • K8S认证|CKS题库+答案| 11. AppArmor
  • 用纯.NET开发并制作一个智能桌面机器人(五):使用.NET为树莓派开发Wifi配网功能
  • 【Docke基础】Docker简介与快速入门:从概念到核心优势
  • Ynoi数据结构题单练习1
  • 解决启动SpringBoot是报错Command line is too long的问题
  • shell脚本--常见案例
  • 树莓派超全系列教程文档--(62)使用rpicam-app通过网络流式传输视频
  • 安装HomeBrew
  • 软考 系统架构设计师系列知识点之杂项集萃(86)
  • win11 mysql解压版本安装及配置
  • 【强化学习】TD-MPC论文解读
  • STM32标准库-DMA直接存储器存取
  • 服务器数据恢复—ocfs2文件系统被误格式化为Ext4文件系统的数据恢复案例
  • OS12.【Linux】gcc和g++以及动静态链接
  • RNN做中文分词
  • Linux动态库与静态库详解:从入门到精通
  • Redis高可用与扩展性:构建稳定高效的缓存系统
  • AR珠宝佩戴与传统的珠宝购物有哪些区别?​
  • 3.3.1_1 检错编码(奇偶校验码)
  • eNSP-Cloud(实现本地电脑与eNSP内设备之间通信)
  • 破界协同:解锁电商平台混合云架构的双引擎效能
  • 深入浅出掌握 Axios(持续更新)
  • day50python打卡
  • 论文解读:交大港大上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(四)
  • Flutter:弹窗UI,不带背景色,自定义图片的弹窗
  • Linux向文件每行结尾追加指定内容的方法
  • PyArk飘云阁出品的ARK工具
  • MVVM 模式,以及 Angular、React、Vue 和 jQuery 的区别与关系
  • STL 3算法
  • srs linux