个人编写整合仅供参考!
--原文地址Linux环境下安装Elasticsearch,史上最详细的教程来啦~_緈諨の約錠的博客-CSDN博客_linux安装elasticsearch
--程序可以在迅雷云盘进行下载
链接:https://pan.xunlei.com/s/VN1pv-nIxrBzAu2t3VHpLQzjA1
提取码:5jnt
--cd到ES_Linux目录下面运行下面命令进行解压
tar -zxvf elasticsearch-7.16.2-linux-x86_64.tar.gz -C /usr/local
--ES不能用root账号启动,创建账号切换账号。
--创建用户
useradd user-es
--创建所属组:
chown user-es:user-es -R /usr/local/elasticsearch-7.16.2
--切换到user-es用户
su user-es
--进入bin目录
cd /usr/local/elasticsearch-7.16.2/bin
--启动elasticsearch
./elasticsearch
ps:启动时报 could not find java in JAVA_HOME at /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.312.b07-2.el8_5.x86_64//bin/java 这个是没有JDK导致的。
--修改ES配置文件
vim /usr/local/elasticsearch-7.16.2/config/elasticsearch.yml
#默认只允许本机访问,修改为0.0.0.0后则可以远程访问
## 绑定到0.0.0.0,允许任何ip来访问
network.host: 0.0.0.0
cluster.name: elasticsearch
node.name: es-node0
cluster.initial_master_nodes: ["es-node0"]
xpack.security.enabled: true
xpack.security.transport.ssl.enabled: true
配置完上面的启动要是报类似这样的错误
io.netty.handler.codec.DecoderException: javax.net.ssl.SSLHandshakeException: No available authentication scheme
就运行下面的生成密码 运行完停止程序 在启动就好了
--前台运行,Ctrl + C 则程序终止
/usr/local/elasticsearch-7.16.2/bin/elasticsearch
--后台运行
/usr/local/elasticsearch-7.16.2/bin/elasticsearch -d
--查询 程序
ps -ef | grep elasticsearch
--停止程序
kill -9 0000 --0000为es的pid
--生成随机密码
/usr/local/elasticsearch-7.16.2/bin/elasticsearch-setup-passwords auto
--ik分词器迅雷网盘里面
链接:https://pan.xunlei.com/s/VN1pwsHaMGv07iCzJ8T99mMtA1
提取码:ybkj
下载解压完成复制到ES目录plugins下面
--启动,ES安装跟ik分词完成
./elasticsearch -d
--同义词安装
--原文地址 https://zhuanlan.zhihu.com/p/381936025
方式四:改造analysis-dynamic-synonym源码访问远程数据库
数据库表配置

程序下载地址
链接:https://pan.xunlei.com/s/VN2QKpFckg10sup6VTqNDqaNA1
提取码:xkip
elasticsearch-analysis-dynamic-synonym-master idea打开修改链接地址
clear,package打包
打包之后的文件进行解压,然后复制到服务器进行粘贴在elasticsearch-7.16.2\plugins\dynamic-synonym
启动es
es运行查看同义词是否可以使用
GET buuindex/_analyze
{
"field": "name",
"text":"电脑"
}
常见问题
1、异常1:java.sql.SQLException: Column 'word' not found.
此异常是因为编写sql时,查询的数据库字段需要起别名为 word,修改一下sql即可解决这个问题;
2、异常2:Could not create connection to database server
此异常通常是因为引用的mysql驱动和mysql版本号不一致导致的,只需要替换成对应的版本号即可解决,另外,数据库连接我们不需要再额外的去配置显示加载,即不需要写 Class.forName(props.getProperty("jdbc.className"));
3、异常3:no suitable driver found for jdbc:mysql://...
此异常我们需要在环境的JDK安装目录的jre\lib\ext目录下添加mysql驱动mysql-connector-java.jar;比如我本地的是C:\Java\jdk_8u_231\jre\lib\ext 目录,
服务器上是 /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.322.b06-1.el7_9.x86_64/jre/lib/ext/
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 一文读懂知识蒸馏
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下