IK分词器下载、使用和测试

三、IK分词器 使用ik分词器对中文文本内容进行切分,并配置个性化定制的词典 阅读详情

对于Win10x86、Ubuntu环境均适用~

1.下载

为什么要使用IK分词器呢?最后面有测评~

访问:https://github.com/medcl/elasticsearch-analysis-ik/releases,找到与自己的ES相同的版本,
可以下载源码,然后自己编译,也可以直接下载编译好的压缩包,比如我这里是5.4.0版本:

这里写图片描述

如果选择下载源码然后自己编译的话,使用maven进行编译:
在该目录下,首先执行:mvn compile;,会生成一个target目录,然后执行mvn package;,会在target目录下生成一个releases目录,在该目录下有一个压缩包,这就是编译好的,与直接下载编译好是一样的~

或者把该项目在IDEA打开,在客户端执行maven的clear、compile和package命令,效果都是一样的,但是用命令行编译好像稍微快一点~

2.使用

在es目录下的plugins目录下创建一个新文件夹,命名为ik,然后把上面的压缩包中的内容解压到该目录中。

比如在Ubuntu中,把解压出来的内容放到es/plugins/ik中:

这里写图片描述

之后,需要重新启动es。

3.测试

1). 创建索引,指定分词器为“ik_max_word”

PUT index
{
  "settings": {
    "number_of_shards": 3,
    "number_of_replicas": 1,
    "analysis": {
      "analyzer": {
        "ik": {
          "tokenizer": "ik_max_word"
        }
      }
    }
  },
  "mappings": {
    "test1":{
      "properties": {
        "content": {
          "type": "text",
          "analyzer": "ik",
          "search_analyzer": "ik_max_word"
        }
      }
    }
  }
}

2). 写入数据到索引中

POST index/test1/1 
{
  "content": "里皮是一位牌足够大、支持率足够高的教练"
}
POST index/test1/2
{
  "content": "他不仅在意大利国家队取得过成功"
}
POST index/test1/3
{
  "content": "教练还带领广州恒大称霸中超并首次夺得亚冠联赛"
}

3). 执行搜索,比如匹配有“教练”字样的文档

GET index/_search
{
  "query": {
    "match": {
      "content": "教练"
    }
  },
  "highlight": {
    "pre_tags": ["<span style = 'color:red'>"],
    "post_tags": ["</span>"],
    "fields": {"content": {}}
  }
}

4). 搜索效果

{
  "took": 8,
  "timed_out": false,
  "_shards": {
    "total": 3,
    "successful": 3,
    "failed": 0
  },
  "hits": {
    "total": 2,
    "max_score": 0.18232156,
    "hits": [
      {
        "_index": "index",
        "_type": "test1",
        "_id": "1",
        "_score": 0.18232156,
        "_source": {
          "content": "里皮是一位牌足够大、支持率足够高的教练"
        },
        "highlight": {
          "content": [
            "里皮是一位牌足够大、支持率足够高的<span style = 'color:red'>教练</span>"
          ]
        }
      },
      {
        "_index": "index",
        "_type": "test1",
        "_id": "3",
        "_score": 0.16203022,
        "_source": {
          "content": "教练还带领广州恒大称霸中超并首次夺得亚冠联赛"
        },
        "highlight": {
          "content": [
            "<span style = 'color:red'>教练</span>还带领广州恒大称霸中超并首次夺得亚冠联赛"
          ]
        }
      }
    ]
  }
}

没有问题哦~

4.关于IK分词器的几点说明

IK分词器对中文具有良好支持的分词器,相比于ES自带的分词器,IK分词器更能适用中文博大精深的语言环境,
此外,IK分词器包括ik_max_word和ik_smart,它们有什么区别呢?

ik_max_word会将文本做最细粒度的拆分;
ik_smart 会做最粗粒度的拆分。

可通过下面的测试自己感受它们的不同,测试语句为“这是一个对分词器的测试”,测试效果如下:

1). ik_max_word

GET index/_analyze?analyzer=ik_max_word
{
  "text": "这是一个对分词器的测试"
}

分词结果:

{
  "tokens": [
    {
      "token": "这是",
      "start_offset": 0,
      "end_offset": 2,
      "type": "CN_WORD",
      "position": 0
    },
    {
      "token": "一个",
      "start_offset": 2,
      "end_offset": 4,
      "type": "CN_WORD",
      "position": 1
    },
    {
      "token": "一",
      "start_offset": 2,
      "end_offset": 3,
      "type": "TYPE_CNUM",
      "position": 2
    },
    {
      "token": "个",
      "start_offset": 3,
      "end_offset": 4,
      "type": "COUNT",
      "position": 3
    },
    {
      "token": "对分",
      "start_offset": 4,
      "end_offset": 6,
      "type": "CN_WORD",
      "position": 4
    },
    {
      "token": "分词器",
      "start_offset": 5,
      "end_offset": 8,
      "type": "CN_WORD",
      "position": 5
    },
    {
      "token": "分词",
      "start_offset": 5,
      "end_offset": 7,
      "type": "CN_WORD",
      "position": 6
    },
    {
      "token": "词",
      "start_offset": 6,
      "end_offset": 7,
      "type": "CN_WORD",
      "position": 7
    },
    {
      "token": "器",
      "start_offset": 7,
      "end_offset": 8,
      "type": "CN_CHAR",
      "position": 8
    },
    {
      "token": "测试",
      "start_offset": 9,
      "end_offset": 11,
      "type": "CN_WORD",
      "position": 9
    }
  ]
}

2). ik_smart

GET index/_analyze?analyzer=ik_smart
{
  "text": "这是一个对分词器的测试"
}

分词结果:

{
  "tokens": [
    {
      "token": "这是",
      "start_offset": 0,
      "end_offset": 2,
      "type": "CN_WORD",
      "position": 0
    },
    {
      "token": "一个",
      "start_offset": 2,
      "end_offset": 4,
      "type": "CN_WORD",
      "position": 1
    },
    {
      "token": "分词器",
      "start_offset": 5,
      "end_offset": 8,
      "type": "CN_WORD",
      "position": 2
    },
    {
      "token": "测试",
      "start_offset": 9,
      "end_offset": 11,
      "type": "CN_WORD",
      "position": 3
    }
  ]
}

3). 自带的分词器

GET index/_analyze?analyzer=standard
{
  "text": "这是一个对分词器的测试"
}

分词结果:

{
  "tokens": [
    {
      "token": "这",
      "start_offset": 0,
      "end_offset": 1,
      "type": "<IDEOGRAPHIC>",
      "position": 0
    },
    {
      "token": "是",
      "start_offset": 1,
      "end_offset": 2,
      "type": "<IDEOGRAPHIC>",
      "position": 1
    },
    {
      "token": "一",
      "start_offset": 2,
      "end_offset": 3,
      "type": "<IDEOGRAPHIC>",
      "position": 2
    },
    {
      "token": "个",
      "start_offset": 3,
      "end_offset": 4,
      "type": "<IDEOGRAPHIC>",
      "position": 3
    },
    {
      "token": "对",
      "start_offset": 4,
      "end_offset": 5,
      "type": "<IDEOGRAPHIC>",
      "position": 4
    },
    {
      "token": "分",
      "start_offset": 5,
      "end_offset": 6,
      "type": "<IDEOGRAPHIC>",
      "position": 5
    },
    {
      "token": "词",
      "start_offset": 6,
      "end_offset": 7,
      "type": "<IDEOGRAPHIC>",
      "position": 6
    },
    {
      "token": "器",
      "start_offset": 7,
      "end_offset": 8,
      "type": "<IDEOGRAPHIC>",
      "position": 7
    },
    {
      "token": "的",
      "start_offset": 8,
      "end_offset": 9,
      "type": "<IDEOGRAPHIC>",
      "position": 8
    },
    {
      "token": "测",
      "start_offset": 9,
      "end_offset": 10,
      "type": "<IDEOGRAPHIC>",
      "position": 9
    },
    {
      "token": "试",
      "start_offset": 10,
      "end_offset": 11,
      "type": "<IDEOGRAPHIC>",
      "position": 10
    }
  ]
}

综上,同样是对“这是一个对分词器的测试”进行分词,不同的分词器分词结果不同:
ik_max_word:这是/一个/一/个/对分/分词器/分词/词/器/测试
ik_smart:这是/一个/分词器/测试
standard:这/是/一/个/对/分/词/器/的/测/试
体会一下,嘿嘿~

这里写图片描述

elasticsearch、kibana、ik等插件下载地址 阅读详情

相关推荐

Elasticsearch(二)IK中文分词器

文章目录安装 ik 分词器在三个节点上安装 ik 分词器查看安装结果ik分词测试`ik_max_word` 分词测试`ik_smart` 分词测试 安装 ik 分词器 从 ik 分词器项目仓库中下载 ik 分词器安装包,下载的版本需要与 Elasticsearch 版本匹配: https://github.com/medcl/elasticsearch-analysis-ik 或者可以访问 gitee 镜像仓库: https://gitee.com/mirrors/elasticsearch-analys

wanght笔记 6705

【Elasticsearch】IK分词器的下载及使用

安装IK分词器

qq_73639699的博客 7776

ElasticSearch集成IK分词器

目录 为什么要使用IK分词器? IK分词器简介 IK分词器的两种算法 ElasticSearch集成IK分词器 下载并安装IK分词器 IK分词器测试 修改索引映射mapping使用IK分词器 为什么要使用IK分词器? ES默认使用的是标准分词器分词算法,从mapping信息可以看到document的字段的analyzer参数是standard这个值,这就是标准分词器算法。 标准分词器分词不够精细,特别是对中文分词支持不够好,而IK分词器相对ES的标准分词器来说对中文的分词支持更..

WannaRunning的博客 400

Elasticsearch下载安装,IK分词器、Kibana下载安装使用,elasticsearch使用演示

Elasticsearch、IK、大数据、Kibana

zhangfuping123456789的博客 3868

详细说明 elasticsearch 之分词器配置 (IK+pinyin插件)

系统:windows 10 elasticsearch版本:5.6.9 es分词的选择 使用es是考虑服务的性能调优,通过读写分离的方式降低频繁访问数据库的压力,至于分词的选择考虑主要是根据目前比较流行的分词模式,根据参考文档自己搭建测试。 es配置目录结构 在此先贴出es下plugins的目录结构,避免安装时一脸茫然(出自本人配置目录,可根据自身需要进行调整): es插件目录结构: ik压缩包内文件列表: pinyin压缩包内文件目录: IK 分词器 IK...

Jack章臣的博客 1881

Elasticsearch安装IK中文分词器

ik分词测试 ik分词器提供两种分词器: ik_max_word 和 ik_smart ik_max_word: 会将文本做最细粒度的拆分,比如会将“中华人民共和国国歌”拆分为“中华人民共和国,中华人民,中华,华人,人民共和国,人民,人,民,共和国,共和,和,国国,国歌”,会穷尽各种可能的组合,适合 Term Query; ik_smart: 会做最粗粒度的拆分,比如会将“中华人民共和国国歌”拆分为“中华人民共和国,国歌”,适合 Phrase 查询。

ES ik分词器的下载和安装,测试

之前我们创建索引,查询数据,都是使用的默认的分词器,分词效果不太理想,会把text的字段分成一个一个汉字,然后搜索的时候也会把搜索的句子进行分词,所以这里就需要更加智能的分词器IK分词器了。 第一: 下载地址:https://github.com/medcl/elasticsearch-analysis-ik/releases,这里你需要根据你的Es的版本来下载对应版本的IK,这里我使用的是6.3.2的ES,所以就下载ik-6.3.2.zip的文件。 第二: 解压-->在es的安装目录..

雅冰石的专栏 7359

路由工具之策略路由policy-based-routing、MQC三板斧流分类、流行为、流策略

PBR(Policy-Based Routing,策略路由)策略路由可理解为控制路由,因为PBR策略的优先级高于传统路由表的转发,所以它主要用于影响数据包转发的技术。

Hades_Ling的优快云博客 5579

ElasticSearch——IK分词器的下载及使用

ElasticSearch——IK分词器的下载及使用 1、什么是IK分词器 ElasticSearch 几种常用分词器如下: 分词器 分词方式 StandardAnalyzer 单字分词 CJKAnalyzer 二分法 IKAnalyzer 词库分词 分词∶即把一段中文或者别的划分成一个个的关键字,我们在搜索时候会把自己的信息进行分词,会把数据库中或者索引库中的数据进行分词,然后进行一个匹配操作,默认的中文分词是将每个字看成一个词,比如“我爱中国"会被分为"我"“爱”“中”"国”

万里顾一程的博客 3万+

VS Code配合Prettier自动格式化代码

每次修改 .prettierrc.cjs 配置文件后,如果发现保存代码时格式化没有生效,可能是 VS Code 插件缓存未及时刷新。建议此时重启 VS Code,确保新的配置被正确加载并生效。

分享技术,分享经验 7422

文华指标源码—区间彩带

这就是当年东方财富软件终端里主打经典的指标、主要揭示主力成本区域。

qq2054129753的博客 886

elasticsearch中IK分词器

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

m0_68597716的博客 1587

嵌入式开发必备:aarch64-linux-gnu-gcc交叉编译工具链保姆级安装指南(含常见错误解决)

本文详细介绍了aarch64-linux-gnu-gcc交叉编译工具链的安装与配置方法,涵盖从系统软件源安装到Linaro二进制包部署的全流程。针对嵌入式开发中常见的依赖错误、版本冲突等问题提供实用解决方案,并分享性能优化技巧与项目集成经验,帮助开发者高效完成ARM64设备的跨平台开发。

yoga7的博客 1029

elasticsearch + ik分词器的安装及测试

记录一下ik分词器的下载及安装使用测试流程: 首先访问官网:https://github.com/medcl/elasticsearch-analysis-ik 按照对应的版本图,寻找对应的版本文件: 打开ik版本的页面,下载对应的版本文件:https://github.com/medcl/elasticsearch-analysis-ik/releases 进入Elasticsearch的文件夹:按照官网的提示操作 将文件下载-> 解压到指定文件夹-> 重启es 然..

u012261499的博客 1049

【FPGA教程案例55】深度学习案例2——基于FPGA的CNN卷积神经网络之ReLu激活层verilog实现

在本课程中,我们将对CNN的ReLu函数模块的FPGA实现做详细的介绍和学习。从仿真结果可知,通过Rule激活函数之后,小于的输入数据输出为0,否则输出是输入本身。,我们对CNN的基本原理有了初步认识。ReLu函数具备如下优缺点。按照课程1相似的操作方式。

FPGA/MATLAB学习教程/源码/项目合作开发 2691

卸载python弹框报错:Could not set file security for file ‘D:\Config.Msi\abd5.rbf‘. Error: 5. Verify...如何解决?

🏆本文收录于 《全栈 Bug 调优(实战版)》 专栏。专栏聚焦真实项目中的各类疑难 Bug,从成因剖析 → 排查路径 → 解决方案 → 预防优化全链路拆解,形成一套可复用、可沉淀的实战知识体系。无论你是初入职场的开发者,还是负责复杂项目的资深工程师,都可以在这里构建一套属于自己的「问题诊断与性能调优」方法论,助你稳步进阶、放大技术价值 。

**My Coding Family** 6474

ElasticSearch教程——安装IK分词器插件

ElasticSearch汇总请查看:ElasticSearch教程——汇总篇 简介 IK Analyzer是一个开源的,基于Java语言开发的轻量级的中文分词工具包,最初的时候,它是以开源项目Lucene为应用主体的,结合词典分词和文法分析算法的中文分词组件,从3.0版本之后,IK逐渐成为面向java的公用分词组件,独立于Lucene项目,同时提供了对Lucene的默认优化实现,IK实现了简...

东天里的冬天 6970

手把手教你学Simulink——基于Simulink的全双工无线通信仿真建模示例

目录手把手教你学Simulink——基于Simulink的全双工无线通信仿真建模示例一、背景介绍二、所需工具和环境三、步骤详解步骤1:创建Simulink模型步骤2:设计输入信号步骤3:添加调制模块步骤4:添加自干扰消除模块步骤5:添加AWGN信道步骤6:添加接收端处理步骤7:添加解调模块步骤8:计算误码率(BER)步骤9:添加显示模块步骤10:设置仿真参数步骤11:运行仿真并分析结果四、总结 全双工(Full-Duplex)无线通信技术允许在同一频段上同时进行数据的发送和接收,这与传统的半双工(Half-

MHD0815的博客 181

elasticsearch-安装分词器ik

点击这里了解更多elasticsearch知识 为什么要安装ik呢?因为elasticsearch默认的分词器在拆分汉子的时候,会将一句话拆分成单个汉子去查询,这样对于汉语分词不太友好,比如我搜索的时候输入了“企业中心”,我并不希望这四个字被拆分为“企”“业”“中”“心”,而是“企业”“中心”,这时候就需要用到ik分词器了。 版本号 对应于我的博客https://blog.youkuaiyun.com/...

msx985211的博客 375

Android 13 内置xapk安装包的方法

安装xapk 内置xapk

安卓兼职framework和app工程师的博客 222

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

Elasticsearch7.9.2中文分词器-IK分词器使用

elasticsearch默认提供了standard分词器,但对中文的分词效果不尽人意: 可以看出,把词语分成了一个个的汉字,这并不是我们想要的,接下来介绍下中文分词器-IK分词器的安装及使用。 1、IK分词器下载及安装 github:https://github.com/medcl/elasticsearch-analysis-ik 各版本分词器下载:https://github.com/medcl/elasticsearch-analysis-ik/releases 选择版...

大鹏 1114

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

Windows平台下安装ElasticSearch7.2并集成ik和拼音分词器

1.ElasticSearch的安装以及配置ik和pinyin分词器 自己选择自己需要的版本 ElasticSearch下载地址:https://www.elastic.co/cn/downloads/past-releases#elasticsearch IK分词器下载地址 :https://github.com/medcl/elasti...

十年的博客 1089

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

Elasticsearch安装使用IK分词器

Elasticsearch安装使用IK分词器一、下载IK分词器二、下载完成后进行解压三、使用postman测试分词效果 solr和elasticsearch都是基于Lucene搜索引擎实现的全文检索工具,因为都是美国人开发的,所以分词习惯和中国的汉字分词差别很大,在国内是用不了其自带的分词器,这里我们推荐使用IK分词器,这个分词器是国人开发的,效果很好。 一、下载IK分词器 PS:IK分词器和ES...

weixin_44167913的博客 467

elasticsearch 安装 ik中文分词器

1,下载ik分词器,根据自己es的版本下载对应的版本 下载地址: https://github.com/medcl/elasticsearch-analysis-ik 我这里是使用的6.2.1版本,直接下载就可以了 wget https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v6.2.1/elasticsea...

H的博客 635

ElasticSearch分词器IK安装教程

目录标题前言1、安装IK分词器下载Elasticsearch IK分词器切换到shcms用户,并在es的安装目录下/plugins创建ik将下载的ik分词器上传并解压到该目录重启Elasticsearch测试分词效果2、指定IK分词器作为默认分词器 前言 使用IK分词器对查询内容进行划分。 1、安装IK分词器 我们后续也需要使用Elasticsearch来进行中文分词,所以需要单独给Elasticsearch安装IK分词器插件。以下为具体安装步骤: 下载Elasticsearch IK分词器 https:/

qq_43783527的博客 5904

Elasticsearch-Analysis-IK中文分词器安装配置和使用(非常详细)

Elasticsearch 默认已经含有的分词法 Standard 分词器 英文的处理能力同于StopAnalyzer.支持中文采用的方法为单字切分。他会将词汇单元转换成小写形式,并去除停用词和标点符号 simple 分词器 功能强于WhitespaceAnalyzer, 首先会通过非字母字符来分割文本信息,然后将词汇单元统一为小写形式。该分析器会去掉数字类型的字符。 Whitespace 分词器 仅仅是去除空格,对字符没有lowcase化,不支持中文;并且不对生成的词汇单元进行其他的规范化处理。 Sto

小鹏子的博客 3297
上一篇: ubuntu——MySQL安装、远程连接和导入数据库
下一篇: Java虚拟机基础知识汇总 (一)
潇潇的潇
博客等级 码龄9年 187粉丝 53原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值