查看: 1297|回复: 0

Windows安装Elasticsearch8.x保姆级教程

[复制链接]

631

主题

436

回帖

80

日志

管理员

积分
5649
QQ
发表于 2024-5-3 21:24:35 | 显示全部楼层 |阅读模式
Elasticsearch
下载安装
1.下载:点击https://www.elastic.co/cn/downloads/elasticsearch
-->点击View past releases -->找到8.11.1版本的ES --->点击下载
---目前最新版的Spring Data ES最高支持8.11.1版本
  
  1. elasticsearch与JDK版本:<a href="https://www.elastic.co/cn/support/matrix#matrix_jvm" target="_blank">https://www.elastic.co/cn/support/matrix#matrix_jvm</a>
复制代码

2.解压:解压下载的压缩包并修改为elasticsearch8111

普通配置
进入:WIN键搜索并点击 编辑系统环境变量 --> 点击环境变量 --->点击系统变量下新建按钮
  
  1. 参考:<a href="https://blog.csdn.net/lanlinjnc/article/details/135845689" target="_blank">https://blog.csdn.net/lanlinjnc/article/details/135845689</a>
复制代码

  输入:变量名输入ES_HOME,变量值为ES的安装目录(bin目录的上级)
3.添加:双击PATH变量--->点击新建—>输入%ES_HOME%\bin

  
  1. 注:这样配置了之后,就不需要先以在终端打开的方式打开bin目录,然后才能输入命令了
复制代码

4.输入:变量名输入ES_JAVA_HOME,变量值为JDK目录的路径(与bin目录同级)

5.乱码:进入config目录--->打开jvm.options 文件—>末尾添加-Dfile.encoding=GBK

  
  1. 注:-Dfile.encoding=GBK解决启动日志乱码问题
复制代码

6.配置:进入config目录--->打开elasticsearch.yml 文件,做如下修改


  1. <div># 设置集群的名字
  2. cluster.name: es
  3. # 设置主节点名字
  4. node.name: esNodeOne
  5. #设置索引数据的存储路径
  6. path.data: ./data
  7. #换成自己的路径
  8. #设置日志文件的存储路径
  9. path.logs: ./logs
  10. #换成自己的路径
  11. # 设置ES监听地址,默认为192.168.0.1; 0.0.0.0: 任意机器都可访问
  12. network.host: 0.0.0.0
  13. #设置对外服务的http端口,默认为9200
  14. http.port: 9200 </div>
复制代码


添加分词
1. ik分词器:中文分词器,可根据定义的字典对域进行分词,并支持用户配置自己的字典,是一个插件包,可以用插件的方式将它接入到ES
  
  1. ElasticSearch 内置了很多分词器,但这些分词器对中文并不友好
复制代码

2.下载ik:https://github.com/infinilabs/analysis-ik/releases?page=1
  
  1. 选择与下载的es版本一致的下载
复制代码

3.解压改名:解压下载的安装包,然后将解压所得的安装包改成ik

4.添加目录:将ik目录移入plugins目录

5.安装验证: 终端输入命令elasticsearch-plugin list

6. es中分词器主要有两种情况会被使用:
  ○ 插入文档时:将text类型的字段做分词然后插入倒排索引
  ○ 查询时:先对要查询的text类型的输入做分词,再去倒排索引搜索

7.es中分词器的选择策略:
  ○ 插入文档/索引时:会检查字段是否定义analyzer属性,优先使用定义的,否则使用es预设的
  ○ 查询时:会检查被搜索的字段是否定义了search_analyzer,优先使用定义的,否则使用es预设的
  ○ analyzer 和 search_analyzer 是作用到字段上面的,每个字段可以设置不同的索引分词器和查询分词器

8.设置ES使用:ik分词器包括ik_smart最少切分和ik_max_word最细切分这两种模式,用于analyzer属性和search_analyzer属性

  1. ## 创建一个 text_index 索引
  2. PUT /test_index

  3. ## 设置test_index索引的mapping
  4. ## 将 索引中的content字段设置为
  5. ## 插入数据建立索引时使用 ik_max_word 模式进行分词
  6. ## 对该字段进行搜索时,使用 ik_smart模式进行搜索词的分词

  7. ## 两种分词器使用的最佳实践是:索引时用ik_max_word,在搜索时用ik_smart。
  8. ## 即:索引时最大化的将文章内容分词,搜索时更精确的搜索到想要的结果。

  9. POST /test_index/_mapping
  10. {
  11.     "properties":{
  12.         "content":{
  13.             "type":"text",
  14.             "analyzer":"ik_max_word",
  15.             "search_analyzer":"ik_smart"
  16.         }
  17.     }
  18. }                           
复制代码
  1. XX
复制代码


7.Java:https://blog.csdn.net/weixin_44107140/article/details/131750412
8. 资源:https://www.bilibili.com/video/BV1b8411Z7w5/?p=8

服务配置
1.安装:终端输入命令elasticsearch-service.bat install``---安装 Elasticsearch 服务
  但先运行服务,安装命令执行完成后,到服务中就可以看到安装好的 Elasticsearch 服务
2.卸载:elasticsearch-service.bat remove``---删除安装的Elasticsearch服务,若启动则停止服务
3.启动:elasticsearch-service.bat start``---启动Elasticsearch服务,如果已安装
4.停止:elasticsearch-service.bat stop``---停止Elasticsearch服务,如果启动
5.管理:elasticsearch-service.bat manager``---启动GUI来管理已安装的服务

运行服务

1.验证:终端输入命令elasticsearch.bat,如下图(记录了密码等信息)则成功
  
  1. 默认账号:用户名elastic,密码自行修改
复制代码

  
  1. CA证书密钥信息:d022bf6a91be10e6215eb0540491b5be6d899919a65091b69c9d3f40a130822e
复制代码

2.随机生成密码:终端输入命令elasticsearch-reset-password -u elastic``---一定要先运行ES
  
  1. 注:New value字段的值就是新的密码,用于忘记密码的情况
复制代码

3.指定账号密码:终端输入命令elasticsearch-reset-password --username elastic -i``---一定要先运行ES
  注:密码至少要六个字符,新密码liuxiansheng

4.访问:浏览器输入https://localhost:9200/,账号就是之前提到的,如下则启动成功

安全配置

1.配置:进入config目录--->打开elasticsearch.yml 文件---运行服务自动生成下列配置

2. xpack.security.enabled:
  ● 默认true:必须使用账号连接ES
  ● 若为false:必须使用http://localhost:9200/访问ES服务+启动Kibana服务会失败+使用Spring Data ES和elasticsearch-java依赖,不需要使用账号连接,但必须使用HTTP连接
3. xpack.security.http.ssl.enabled:
  ● 默认true:必须使用https://localhost:9200/访问ES服务+无论使用Spring Data ES还是elasticsearch-java依赖,都需要使用账号连接+必须使用HTTPS连接
  ● 若为false:必须使用http://localhost:9200/访问ES服务+启动Kibana服务会失败+使用Spring Data ES和elasticsearch-java依赖,都需要使用账号连接,但必须使用HTTP连接

  1. # 设置是否开启xpack的安全功能,默认true/开启---以xpack开头的配置项都会开启
  2. xpack.security.enabled: false
  3. # 设置是否开启节点的安全注册功能---ChatGPT询问xpack.security.enrollment
  4. xpack.security.enrollment.enabled: true

  5. # 配置X-Pack安全功能中 与 HTTP 通信相关的 SSL 设置
  6. xpack.security.http.ssl:
  7.   # 设置是否开启 HTTP API 客户端连接加密功能---如 Kibana  
  8.   enabled: true
  9.   keystore.path: certs/http.p12
  10.   
  11. # Enable encryption and mutual authentication between cluster nodes
  12. xpack.security.transport.ssl:
  13.   # 设置是否启用集群节点之间的加密和相互身份验证功能
  14.   enabled: true
  15.   verification_mode: certificate
  16.   keystore.path: certs/transport.p12
  17.   truststore.path: certs/transport.p12`
复制代码

添加用户
添加:终端输入elasticsearch-users useradd liu,设置密码为liuxiansheng``---必须先运行ES
  
  1. elasticsearch不能使用root用户启动,所以我们创建一个新的用户
复制代码

2.权限:终端输入elasticsearch-users roles -a superuser liu,设置为超级管理员

3.权限:终端输入elasticsearch-users roles -a kibana_system liu,设置为kibana用户

界面可视
下载:点击https://github.com/1340691923/El ... /tag/v1.8.7``-->选择win

原文:https://blog.csdn.net/qq_50864152/article/details/136724528
上士闻道,勤而行之;中士闻道,若存若亡;下士闻道,大笑之。不笑不足以为道!
回复 关闭延时

使用道具 举报

您需要登录后才可以回帖 登录 | 注册  

本版积分规则

快速回复 返回顶部 返回列表