在Elasticsearch 7.9.2中安装IK分词器并进行自定义词典配置

2024-04-27 07:12

本文主要是介绍在Elasticsearch 7.9.2中安装IK分词器并进行自定义词典配置,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Elasticsearch是一个强大的开源搜索引擎,而IK分词器是针对中文文本分析的重要插件。本文将引导您完成在Elasticsearch 7.9.2版本中安装IK分词器、配置自定义词典以及验证分词效果的全过程。

步骤一:下载IK分词器

访问IK分词器的GitHub发布页面:

[下载地址](https://github.com/infinilabs/analysis-ik/releases)

针对您的Elasticsearch 7.9.2版本,请下载对应版本的IK分词器:

[IK分词器7.9.2版本](https://objects.githubusercontent.com/github-production-release-asset-2e65be/2993595/b2790500-feb6-11ea-8bc9-c674a2b144ce?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAVCODYLSA53PQK4ZA%2F20240426%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20240426T004946Z&X-Amz-Expires=300&X-Amz-Signature=331c06e100afc3c10c492d982dfd1c6d4bc04554e5ce7a677b8389239b0425e1&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=2993595&response-content-disposition=attachment%3B%20filename%3Delasticsearch-analysis-ik-7.9.2.zip&response-content-type=application%2Foctet-stream)

步骤二:安装IK分词器

下载完成后,解压缩文件,并将解压后的elasticsearch-analysis-ik-7.9.2目录复制到Elasticsearch的插件目录(修改文件加名称为ik)。假设您的Elasticsearch安装在D:\ProgramFiles\elasticsearch-7.9.2,则应将IK分词器复制到以下位置:

D:\ProgramFiles\elasticsearch-7.9.2\plugins
#安装后目录
D:\ProgramFiles\elasticsearch-7.9.2\plugins\ik

在这里插入图片描述

步骤三:重启Elasticsearch

完成插件安装后,需要重启Elasticsearch以加载新安装的IK分词器。确保Elasticsearch服务已经关闭,然后按照常规方式启动它。

步骤四:验证IK分词器安装

重启Elasticsearch后,可以通过发送以下两个请求来验证IK分词器是否成功安装并运行:

GET /_analyze
{"analyzer": "ik_smart",  "text": "刘亦菲早上好"
}GET /_analyze 
{"analyzer": "ik_max_word", "text": "刘亦菲早上好"
}

这两个请求分别使用ik_smartik_max_word两种分词策略对文本“刘亦菲早上好”进行分词。ik_smart倾向于智能切分,减少冗余;ik_max_word则尽可能多地输出分词结果。响应应包含类似如下结构的分词结果:

{"tokens" : [{"token" : "刘","start_offset" : 0,"end_offset" : 1,"type" : "CN_CHAR","position" : 0},...{"token" : "上好","start_offset" : 4,"end_offset" : 6,"type" : "CN_WORD","position" : 5}]
}

步骤五:配置自定义词典

接下来,我们将为IK分词器配置一个自定义词典,以添加特定词汇“刘亦菲”。首先,找到IK分词器的配置文件:

D:\ProgramFiles\elasticsearch-7.9.2\plugins\ik\config\IKAnalyzer.cfg.xml

编辑该文件,添加或修改以下内容:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
<properties><comment>IK Analyzer 扩展配置</comment><!--用户可以在这里配置自己的扩展字典 --><entry key="ext_dict">my.dict</entry><!--用户可以在这里配置自己的扩展停止词字典--><entry key="ext_stopwords"></entry><!--其他配置项...-->
</properties>

这里指定了一个名为my.dict的自定义词典文件。接着,在同一目录下创建该文件:

D:\ProgramFiles\elasticsearch-7.9.2\plugins\ik\config\my.dict

并在其中输入要添加的词汇:

刘亦菲

步骤六:重启Elasticsearch并验证自定义词典

保存并关闭配置文件及词典文件后,再次重启Elasticsearch。随后,重新执行ik_max_word分词策略的请求:

GET /_analyze 
{"analyzer": "ik_max_word", "text": "刘亦菲早上好"
}

此时,响应中的分词结果应包含新增的自定义词汇“刘亦菲”,如下所示:

{"tokens" : [{"token" : "刘亦菲","start_offset" : 0,"end_offset" : 3,"type" : "CN_WORD","position" : 0},...{"token" : "上好","start_offset" : 4,"end_offset" : 6,"type" : "CN_WORD","position" : 3}]
}

至此,您已在Elasticsearch 7.9.2中成功安装了IK分词器,并完成了自定义词典的配置与验证。现在,Elasticsearch已具备对中文文本进行精准分词的能力,并可根据需要灵活扩展词典。

这篇关于在Elasticsearch 7.9.2中安装IK分词器并进行自定义词典配置的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/939841

相关文章

使用Jackson进行JSON生成与解析的新手指南

《使用Jackson进行JSON生成与解析的新手指南》这篇文章主要为大家详细介绍了如何使用Jackson进行JSON生成与解析处理,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1. 核心依赖2. 基础用法2.1 对象转 jsON(序列化)2.2 JSON 转对象(反序列化)3.

Elasticsearch 在 Java 中的使用教程

《Elasticsearch在Java中的使用教程》Elasticsearch是一个分布式搜索和分析引擎,基于ApacheLucene构建,能够实现实时数据的存储、搜索、和分析,它广泛应用于全文... 目录1. Elasticsearch 简介2. 环境准备2.1 安装 Elasticsearch2.2 J

Linux系统中卸载与安装JDK的详细教程

《Linux系统中卸载与安装JDK的详细教程》本文详细介绍了如何在Linux系统中通过Xshell和Xftp工具连接与传输文件,然后进行JDK的安装与卸载,安装步骤包括连接Linux、传输JDK安装包... 目录1、卸载1.1 linux删除自带的JDK1.2 Linux上卸载自己安装的JDK2、安装2.1

C#使用SQLite进行大数据量高效处理的代码示例

《C#使用SQLite进行大数据量高效处理的代码示例》在软件开发中,高效处理大数据量是一个常见且具有挑战性的任务,SQLite因其零配置、嵌入式、跨平台的特性,成为许多开发者的首选数据库,本文将深入探... 目录前言准备工作数据实体核心技术批量插入:从乌龟到猎豹的蜕变分页查询:加载百万数据异步处理:拒绝界面

Python使用自带的base64库进行base64编码和解码

《Python使用自带的base64库进行base64编码和解码》在Python中,处理数据的编码和解码是数据传输和存储中非常普遍的需求,其中,Base64是一种常用的编码方案,本文我将详细介绍如何使... 目录引言使用python的base64库进行编码和解码编码函数解码函数Base64编码的应用场景注意

SpringCloud动态配置注解@RefreshScope与@Component的深度解析

《SpringCloud动态配置注解@RefreshScope与@Component的深度解析》在现代微服务架构中,动态配置管理是一个关键需求,本文将为大家介绍SpringCloud中相关的注解@Re... 目录引言1. @RefreshScope 的作用与原理1.1 什么是 @RefreshScope1.

使用Sentinel自定义返回和实现区分来源方式

《使用Sentinel自定义返回和实现区分来源方式》:本文主要介绍使用Sentinel自定义返回和实现区分来源方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Sentinel自定义返回和实现区分来源1. 自定义错误返回2. 实现区分来源总结Sentinel自定

Linux卸载自带jdk并安装新jdk版本的图文教程

《Linux卸载自带jdk并安装新jdk版本的图文教程》在Linux系统中,有时需要卸载预装的OpenJDK并安装特定版本的JDK,例如JDK1.8,所以本文给大家详细介绍了Linux卸载自带jdk并... 目录Ⅰ、卸载自带jdkⅡ、安装新版jdkⅠ、卸载自带jdk1、输入命令查看旧jdkrpm -qa

Java进行文件格式校验的方案详解

《Java进行文件格式校验的方案详解》这篇文章主要为大家详细介绍了Java中进行文件格式校验的相关方案,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录一、背景异常现象原因排查用户的无心之过二、解决方案Magandroidic Number判断主流检测库对比Tika的使用区分zip

Java使用Curator进行ZooKeeper操作的详细教程

《Java使用Curator进行ZooKeeper操作的详细教程》ApacheCurator是一个基于ZooKeeper的Java客户端库,它极大地简化了使用ZooKeeper的开发工作,在分布式系统... 目录1、简述2、核心功能2.1 CuratorFramework2.2 Recipes3、示例实践3