elasticsearch 安装 ik中文分词器

2024-08-22 16:08

本文主要是介绍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/elasticsearch-analysis-ik-6.2.1.zip

zip包里面的文件结构如下:
在这里插入图片描述
备注:
如果是下载的其他版本可能没有上面结构图的包,这个时候需要先解压压缩包,进入文件目录,然后本地在使用mvn命令打个包即可,打包命令(如果没有安装maven的请自行百度安装):

mvn package

打包完成后在 \target\releases 目录下就能够看到相同的文件结构了
在这里插入图片描述

config文件夹里面的内容是分词器分词时读取文件的主要目录,大概说说里面的各文件内容

在这里插入图片描述

  1. IKAnalyzer.cfg.xml:用来配置自定义词库
  2. main.dic:ik原生内置的中文词库,总共有27万多条,只要是这些单词,都会被分在一起
  3. quantifier.dic:放了一些单位相关的词
  4. suffix.dic:放了一些后缀
  5. surname.dic:中国的姓氏
  6. stopword.dic:英文停用词
ik原生最重要的两个配置文件
  1. main.dic:包含了原生的中文词语,会按照这个里面的词语去分词
  2. stopword.dic:包含了英文的停用词

2,解压 elasticsearch-analysis-ik-6.2.1.zip

unzip elasticsearch-analysis-ik-6.2.1.zip

便于区分修改解压后的文件夹名称为 elasticsearch-analysis-ik-6.2.1

mv elasticsearch elasticsearch-analysis-ik-6.2.1

3,将解压后的文件夹移动到es的plugins目录下

mv elasticsearch-analysis-ik-6.2.1 /usr/local/elasticsearch-6.2.1/plugins/

4,重启es

5,ik 分词器测试
假如我们直接使用 standard 对中文进行分词看看有什么效果,执行如下语句

{"text": "string是基本数据类型吗","analyzer": "standard"
}

结果:
在这里插入图片描述
很明显,被分成了一个个单一的词,显然这并不是我们想要的效果,因为单个词汇在文档搜索中意义并不大

安装了中文分词器后,我们再来做如下测试,运行如下语句,指定ik分词器:

{"text": "string是基本数据类型吗","analyzer": "ik_max_word"
}

结果:
在这里插入图片描述
这时候IK分词器将我们的一段句子拆分成了不同长度的词汇,看起来合理多了

最后在使用ik分词器搜索一下数据,看看是不是想要的结果
在这里插入图片描述
可以看到这个时候就已经按照问我们想要的分词结果查询出来了数据,到此,大功告成

es各个搜索条件含义:

match 搜索key会被分词,搜索的filed中的值是分了词,然后再匹配
term 精确匹配输入的参数(不使用分析器)
wildcard 没用过
prefix 前缀匹配
fuzzy 模糊匹配
range 范围匹配 匹配数值类型,比如说对于用户样本搜索,年龄范围在20~30之间的,就用range。
query_string 查询text类型的字段
text 文本类型,文本类型可以设置分词器属性
missing 是否存在该字段值 和exists反义

这篇关于elasticsearch 安装 ik中文分词器的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


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

相关文章

Python实现中文文本处理与分析程序的示例详解

《Python实现中文文本处理与分析程序的示例详解》在当今信息爆炸的时代,文本数据的处理与分析成为了数据科学领域的重要课题,本文将使用Python开发一款基于Python的中文文本处理与分析程序,希望... 目录一、程序概述二、主要功能解析2.1 文件操作2.2 基础分析2.3 高级分析2.4 可视化2.5

虚拟机Centos7安装MySQL数据库实践

《虚拟机Centos7安装MySQL数据库实践》用户分享在虚拟机安装MySQL的全过程及常见问题解决方案,包括处理GPG密钥、修改密码策略、配置远程访问权限及防火墙设置,最终通过关闭防火墙和停止Net... 目录安装mysql数据库下载wget命令下载MySQL安装包安装MySQL安装MySQL服务安装完成

JAVA中安装多个JDK的方法

《JAVA中安装多个JDK的方法》文章介绍了在Windows系统上安装多个JDK版本的方法,包括下载、安装路径修改、环境变量配置(JAVA_HOME和Path),并说明如何通过调整JAVA_HOME在... 首先去oracle官网下载好两个版本不同的jdk(需要登录Oracle账号,没有可以免费注册)下载完

Java JDK1.8 安装和环境配置教程详解

《JavaJDK1.8安装和环境配置教程详解》文章简要介绍了JDK1.8的安装流程,包括官网下载对应系统版本、安装时选择非系统盘路径、配置JAVA_HOME、CLASSPATH和Path环境变量,... 目录1.下载JDK2.安装JDK3.配置环境变量4.检验JDK官网下载地址:Java Downloads

SQL server数据库如何下载和安装

《SQLserver数据库如何下载和安装》本文指导如何下载安装SQLServer2022评估版及SSMS工具,涵盖安装配置、连接字符串设置、C#连接数据库方法和安全注意事项,如混合验证、参数化查... 目录第一步:打开官网下载对应文件第二步:程序安装配置第三部:安装工具SQL Server Manageme

Python中win32包的安装及常见用途介绍

《Python中win32包的安装及常见用途介绍》在Windows环境下,PythonWin32模块通常随Python安装包一起安装,:本文主要介绍Python中win32包的安装及常见用途的相关... 目录前言主要组件安装方法常见用途1. 操作Windows注册表2. 操作Windows服务3. 窗口操作

Redis出现中文乱码的问题及解决

《Redis出现中文乱码的问题及解决》:本文主要介绍Redis出现中文乱码的问题及解决,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1. 问题的产生2China编程. 问题的解决redihttp://www.chinasem.cns数据进制问题的解决中文乱码问题解决总结

gitlab安装及邮箱配置和常用使用方式

《gitlab安装及邮箱配置和常用使用方式》:本文主要介绍gitlab安装及邮箱配置和常用使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1.安装GitLab2.配置GitLab邮件服务3.GitLab的账号注册邮箱验证及其分组4.gitlab分支和标签的

MySQL MCP 服务器安装配置最佳实践

《MySQLMCP服务器安装配置最佳实践》本文介绍MySQLMCP服务器的安装配置方法,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下... 目录mysql MCP 服务器安装配置指南简介功能特点安装方法数据库配置使用MCP Inspector进行调试开发指

在Windows上使用qemu安装ubuntu24.04服务器的详细指南

《在Windows上使用qemu安装ubuntu24.04服务器的详细指南》本文介绍了在Windows上使用QEMU安装Ubuntu24.04的全流程:安装QEMU、准备ISO镜像、创建虚拟磁盘、配置... 目录1. 安装QEMU环境2. 准备Ubuntu 24.04镜像3. 启动QEMU安装Ubuntu4