Elasticsearch 7.6 安装 Jieba 中文分词插件完整教程

Elasticsearch 7.6 安装 Jieba 中文分词插件完整教程

    • [一. 前置准备](#一. 前置准备)
    • [二. 安装 Gradle](#二. 安装 Gradle)
      • [2.1 下载 Gradle](#2.1 下载 Gradle)
      • [2.2 配置环境变量](#2.2 配置环境变量)
    • [三. 下载 Elasticsearch-jieba 插件源码](#三. 下载 Elasticsearch-jieba 插件源码)
    • [四. 构建插件](#四. 构建插件)
    • [五. 修改插件版本(可选)](#五. 修改插件版本(可选))
    • [六 测试](#六 测试)

前言

这是我在这个网站整理的笔记,有错误的地方请指出,关注我,接下来还会持续更新。

作者:神的孩子都在歌唱

推荐文章:es开源小工具 -- 分析器功能

Elasticsearch 默认的分析器对中文支持不好,jieba 分词插件是最常用的中文分词方案之一。本文将详细介绍在 Elasticsearch 7.6 上安装、构建、使用 jieba 插件的完整流程,包括 Gradle 安装、源码构建、插件安装和使用示例

一. 前置准备

  • 系统:CentOS 7
  • Elasticsearch 版本:7.6.1
  • Java 版本:JDK 8~ 11+
  • 工具:Gradle(用于构建插件)

注意:Elasticsearch 不能以 root 用户运行,需要创建专用用户。

bash 复制代码
sudo useradd -r -s /sbin/nologin elasticsearch

将 Elasticsearch 目录属主改为 elasticsearch 用户:

bash 复制代码
sudo chown -R elasticsearch:elasticsearch /chen/env/elasticsearch-7.6.1

二. 安装 Gradle

Elasticsearch-jieba 插件源码需要 Gradle 构建。由于国内访问 Gradle 官方下载慢,推荐使用 国内镜像

2.1 下载 Gradle

bash 复制代码
cd /tmp
wget https://mirrors.aliyun.com/gradle/gradle-4.10.3-bin.zip
sudo mkdir -p /chen/env/gradle
sudo unzip gradle-4.10.3-bin.zip -d /chen/env/gradle

或者手动下载上传也可以

2.2 配置环境变量

记得修改地址路径

bash 复制代码
echo 'export GRADLE_HOME=/chen/env/gradle/gradle-4.10.3' >> ~/.bashrc
echo 'export PATH=$GRADLE_HOME/bin:$PATH' >> ~/.bashrc
source ~/.bashrc

验证安装:

bash 复制代码
gradle -v

三. 下载 Elasticsearch-jieba 插件源码

使用国内镜像 Gitee 加快下载:

bash 复制代码
cd /root
git clone https://gitee.com/mirrors/elasticsearch-jieba-plugin.git
cd elasticsearch-jieba-plugin
git checkout 7.4.2   # 切换到与 ES 7.6 对应的版本

也可以手动下载:
gitee

github

四. 构建插件

bash 复制代码
gradle pz

构建完成后,会在以下目录 生成 zip 文件:

复制代码
build/distributions/elasticsearch-jieba-plugin-7.6.1.zip

如果报错 Could not get unknown property 'runtime',说明 Gradle 版本过高,需要切换到 4.x 或 5.x。

然后将插件放入es的plugins目录,解压

shell 复制代码
cp elasticsearch-jieba-plugin-7.4.2.zip /chen/env/elasticsearch-7.6.1/plugins/
unzip elasticsearch-jieba-plugin-7.4.2.zip -d analysis-jieba

五. 修改插件版本(可选)

启动时会报 Plugin was built for Elasticsearch version 7.4.2 but 7.6.1 is running

如果遇到插件标注的版本和 ES 不匹配,可修改,博主就遇到了这个问题,所以也是折腾了一会才知道:

bash 复制代码
cd build/distributions/elasticsearch-jieba-plugin-7.6.1
vim plugin-descriptor.properties

修改 elasticsearch.version=7.4.2 为:

复制代码
elasticsearch.version=7.6.1

然后在重启es就可以了

六 测试

安装完成后,重启es,检查插件是否安装成功:

bash 复制代码
curl -X GET "localhost:9200/_cat/plugins?v"

示例输出:

以上结果是我用的我自己的开发的es小工具输出的,大家感兴趣可以去看看,代码完全开源,对日常工作和学习都是挺不错的。完整代码连接 github 对你有帮助记得点赞收藏,es开源小工具 -- 分析器功能

使用结巴分词查询

css 复制代码
{{url}}/_analyze
{
  "analyzer": "jieba_index",
  "text": "你好呀"
}

作者:神的孩子都在歌唱

本人博客:https://blog.csdn.net/weixin_46654114

转载说明:务必注明来源,附带本人博客连接。

相关推荐
草明2 小时前
Elasticsearch 报错:index read-only / allow delete (api) 深度解析与解决方案
大数据·elasticsearch·jenkins
失散132 小时前
分布式专题——55 ElasticSearch性能调优最佳实践
java·分布式·elasticsearch·架构
Elasticsearch2 小时前
在 Elastic Observability 中使用 OpAmp 对 EDOT SDK 进行集中配置
elasticsearch
神的孩子都在歌唱5 小时前
es开源小工具 -- 分析器功能
大数据·elasticsearch·开源
BugShare7 小时前
嘿嘿,一个简单ElasticSearch小实现
java·大数据·spring boot·elasticsearch
多来哈米7 小时前
Jenkins配置vue前端项目(最简单的操作)
运维·前端·jenkins
weisian1518 小时前
Elasticsearch-4--倒排索引的原理?
大数据·elasticsearch·搜索引擎
songyuc18 小时前
【Git】请帮忙解释一下“git reset”
git·elasticsearch
Elastic 中国社区官方博客19 小时前
Observability:适用于 PHP 的 OpenTelemetry:EDOT PHP 加入 OpenTelemetry 项目
大数据·开发语言·人工智能·elasticsearch·搜索引擎·全文检索·php