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

news2024/11/25 13:52:17

文章目录

  • 一、IK 分词器简介
    • 1. 支持细粒度分词:
    • 2. 支持多种分词模式:
    • 3. 支持自定义词典:
    • 4. 支持拼音分词:
    • 5. 易于集成和使用:
  • 二、安装步骤
    • 1、下载 IK 分词器插件:
    • 2、安装 IK 分词器插件:
    • 3. 安装完ik分词器闪退问题
    • 4、重启 Elasticsearch:
  • 三、ik分词器模式介绍
    • 1. 细粒度分词模式(ik_smart):
    • 2. 智能分词模式(ik_max_word):
    • 3. 分词器演示:
      • 3.1 ik_smart
      • 3.2 ik_max_word

一、IK 分词器简介

elasticsearch 默认的内置分词器对中文的分词效果可能并不理想,因为它们主要是针对英文等拉丁语系的文本设计的。如果要在中文文本上获得更好的分词效果,我们可以考虑使用中文专用的分词器。

IK 分词器是一个开源的中文分词器插件,特别为 Elasticsearch 设计和优化。它在中文文本的分词处理上表现出色,能够根据中文语言习惯进行精细的分词。

以下是 IK 分词器的一些特点和功能:

1. 支持细粒度分词:

IK 分词器能够将中文文本按照词语级别进行切分,实现更加细粒度的分词效果。它可以将一个词语切分成多个合理的子词,提高了搜索命中率。

2. 支持多种分词模式:

IK 分词器提供了两种分词模式,即细粒度和智能模式。细粒度模式会将文本切分成尽可能多的词语,而智能模式则会根据上下文进行合理的切分,保留词语的完整性。

3. 支持自定义词典:

IK 分词器允许用户自定义词典,可以添加新词、调整词频等,以便更好地适应特定的领域或需求。自定义词典可以提高分词的准确性和召回率。

4. 支持拼音分词:

IK 分词器还提供了拼音分词功能,可以将中文文本转换为拼音,方便进行拼音搜索和拼音排序。

5. 易于集成和使用:

IK 分词器是一个独立的插件,可以轻松地集成到 Elasticsearch 中,并且提供了简单易用的 API 接口。

总的来说,IK 分词器是一个功能强大、易于使用的中文分词器插件,可以显著改善 Elasticsearch 在中文文本上的分词效果。通过细粒度的分词、多种分词模式、自定义词典等功能,IK 分词器能够更好地满足中文语境下的搜索需求。

二、安装步骤

1、下载 IK 分词器插件:

下载网址:https://github.com/medcl/elasticsearch-analysis-ik/
master
找到对应版本,下载安装包
7.17.6

2、安装 IK 分词器插件:

新建 ik 文件夹,将ik压缩包解压到这里
将下载的插件文件解压缩到 Elasticsearch 安装目录的 plugins 文件夹中。
ik

3. 安装完ik分词器闪退问题

这里需要注意es版本与ik的版本一致,我的es版本是7.17.7,但是发现官网没有对应的ik版本:
所以,下了个7.17.6的ik,需要修改下 plugin-descriptor.properties文件

version=7.17.7
elasticsearch.version=7.17.7

重新启动es就不会闪退了

4、重启 Elasticsearch:

analysis
完成插件安装后,重启 Elasticsearch 服务以使其加载新的插件。

三、ik分词器模式介绍

IK分词器是一款开源的中文分词工具,它提供了两种模式用于分词:细粒度和智能分词模式。

1. 细粒度分词模式(ik_smart):

这是默认的分词模式,它会尽可能地将句子切分为最小的词语单元。它不仅可以识别普通词汇,还可以识别一些常见的专有名词、地名、人名等。

2. 智能分词模式(ik_max_word):

这种模式会在细粒度分词的基础上,对长词进行进一步的切分。它可以识别更多的词语,但也会增加一些不必要的词语。

这两种模式可以根据具体的需求选择使用。如果需要更细粒度的分词结果,可以选择细粒度分词模式;如果需要更全面的分词结果,可以选择智能分词模式。

3. 分词器演示:

3.1 ik_smart

sql:

POST _analyze
{
  "analyzer": "ik_smart",
  "text": "万般都是命,半点不由人"
}

kibnana演示:
smart

3.2 ik_max_word

sql:

POST _analyze
{
  "analyzer": "ik_max_word",
  "text": "万般都是命,半点不由人"
}

kibnana演示:
ik_max

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

各种知名游戏的技术分析

介绍一个GitHub,里面包括了市面上的各种游戏的技术分析,包括渲染管线、工作流、技术文章等等,在做某个类型的游戏的时候,可以针对某个游戏去进行技术参考,特别实用。 GitHub - OTFCG/Awesome-Game-Analysis: a compre…

C++设计模式之模板方法、策略模式、观察者模式

面向对象设计模式是”好的面向对象设计“,所谓”好的面向对象设计“指的是可以满足”应对变化,提高复用“的设计。 现代软件设计的特征是”需求的频繁变化“。设计模式的要点是”寻求变化点,然后在变化点处应用设计模式,从而更好地…

力扣天天练--week3-LeetCode75

topic75-9-t443:压缩字符串 题目描述: 给你一个字符数组 chars ,请使用下述算法压缩: 从一个空字符串 s 开始。对于 chars 中的每组 连续重复字符 : 如果这一组长度为 1 ,则将字符追加到 s 中。 否则,需…

Spring Boot中整合MyBatis(基于xml方式基于注解实现方式)

一、前提准备 在Spring Boot中整合MyBatis时,你需要导入JDBC(不需要手动添加)和Druid的相关依赖。 JDBC依赖:在Spring Boot中整合MyBatis时,并不需要显式地添加JDBC的包依赖。这是因为,当你添加mybatis-sp…

会捷通云视讯 list 目录文件泄露漏洞

劳动永远是医治精神创伤的良药。 漏洞描述 会捷通云视讯某个文件 list参数 存在目录文件泄露漏洞,攻击者通过漏洞可以获取一些敏感信息 漏洞复现 构造payload访问漏洞url: /him/api/rest/V1.0/system/log/list?filePath../漏洞证明: 文…

Mendix 创客访谈录|综合业务展示大屏应用开发

本期创客 刘书智 西门子工业领域专家 我在西门子工厂自动化工程有限公司工作。一直从事SCADA产品的技术支持工作,已经过去17个年头了。赶上数字化发展的浪潮,不断学习各种IT技术,践行 IT与OT融合,希望借助自己的IT知识助力OT的发…

编程实战班--C语言和Python语言实现五子棋游戏的代码

文章目录 下面分别是C语言和Python语言实现五子棋游戏的代码:C语言实现Python语言实现总结 下面分别是C语言和Python语言实现五子棋游戏的代码: C语言实现 在使用C语言实现五子棋游戏时,可以使用SDL2图形库来实现图形界面和图形绘制等功能&…

华为华三思科 交换机基础配置一览

console密码修改 华为 user-interface console 0 authentication-mode password set authentication password cipher XXXXXXXXX华三 line aux 0 authentication-mode password set auth pass simple XXX思科 en configure terminal line console 0 password 123 login忘记…

打开英雄联盟提示d3dcompiler47.dll缺失怎么修复

1.d3dcompiler_47.dll缺失的原因 损坏的文件:d3dcompiler_47.dll文件可能由于某些原因损坏,如病毒感染、意外删除等。 不兼容的操作系统:某些应用程序要求特定版本的d3dcompiler_47.dll文件,如果操作系统不兼容,则可能…

前端实现导出excel表格(单行表头)

需求:实现勾选行导出为表格 一、安装插件 npm install --save file-saver xlsx运行项目报如下警告的话 运行npm install xlsx0.16.0 --save 来降低版本号(最初我安装的版本号是0.18.16的版本)再次运行项目就不会报如下警告了 二、新建一个ex…

语音分帧简述

目录 1. 分帧 1.1 非整齐分帧 1.2 整齐分帧 2. 示例代码 1. 分帧 问题1:总帧数如何计算? 记符号N为语音总长度,FRAME_LEN为帧长,OVERLAP_LEN为帧与帧之间的重叠部分,STEP_LEN为帧移(步长)。则总帧数N_Frames计算…

kotlin 编写一个简单的天气预报app(二)

增加界面显示openweathermap返回的信息。 在activity_main.xml里增加输入框来输入城市&#xff0c;在输入款旁边增加搜索按钮来进行查询。 然后原来显示helloworld的TextView用来显示结果。 1. 增加输入城市名字的EditText <EditTextandroid:id"id/editTextCity"…

AcrelEMS企业微电网能效管理平台实现用户侧智能配电和智能用电管理-安科瑞黄安南

摘要&#xff1a;随着科技的发展&#xff0c;电力系统正逐步向智能化、数字化、互联网化迈进。智能配电与智能用电是电力产业发展的重要方向&#xff0c;将为传统电力系统带来革命性的变革。本文将对智能配电和智能用电的概念、特点、关键技术及应用进行详细介绍。 1、智能配电…

Rust vs Go:常用语法对比(八)

题目来自 Golang vs. Rust: Which Programming Language To Choose in 2023?[1] 141. Iterate in sequence over two lists Iterate in sequence over the elements of the list items1 then items2. For each iteration print the element. 依次迭代两个列表 依次迭代列表项1…

【linux基础(一)】Linux基本指令(上)

&#x1f493;博主CSDN主页:杭电码农-NEO&#x1f493;   ⏩专栏分类:Linux从入门到开通⏪   &#x1f69a;代码仓库:NEO的学习日记&#x1f69a;   &#x1f339;关注我&#x1faf5;带你学更多操作系统知识   &#x1f51d;&#x1f51d; 这里写目录标题 1. 前言1. 创…

[vulnhub]DC2

文章目录 [vulnhub]DC2信息收集flag1flag2cewlwpscan flag3什么是rbash&#xff1f; flag4flag5git提权 总结 [vulnhub]DC2 信息收集 扫ip&#xff0c;有两种方式&#xff1a;arp、nmap nmap -sP 192.168.56.0/24 -T4arp-scan -l192.168.56.137 扫端口&#xff1a; nmap -…

1312. 让字符串成为回文串的最少插入次数;971. 翻转二叉树以匹配先序遍历

1312. 让字符串成为回文串的最少插入次数 核心思想&#xff1a;最后的回文串有两种情况&#xff0c;一种是奇数回文串&#xff0c;一种是偶数回文串&#xff0c;奇数回文串的中心一定是原来就有的&#xff0c;偶数回文串的中心也是原来就有的。假设除去中心的部分为q,p,最后要…

Debian12中为python3配置虚拟环境及在Pycharm中使用虚拟环境

在Debian 12中&#xff0c;python默认为python 3.11。 基于应用&#xff0c;现需设置虚拟环境。 1.安装venv模块 从python3.3开始&#xff0c;配置python虚拟环境&#xff0c;可用venv模块&#xff0c;更加方便了。 执行命令&#xff1a; #apt install python3.11-venv 2.…

原型模式——对象的克隆

1、简介 1.1、概述 可以通过一个原型对象克隆出多个一模一样的对象&#xff0c;该模式被称为原型模式。 在使用原型模式时&#xff0c;需要首先创建一个原型对象&#xff0c;再通过复制这个原型对象来创建更多同类型的对象。 1.2、定义 原型模式&#xff08;Prototype Patt…

ICASSP 2023说话人识别方向论文合集(一)

ICASSP (International Conference on Acoustics, Speech and Signal Processing) 即国际声学、语音与信号处理会议&#xff0c;是IEEE主办的全世界最大、最全面的信号处理及其应用方面的顶级会议&#xff0c;在国际上享有盛誉并具有广泛的学术影响力。 今年入选 ICASSP 2023 …