Elasticsearch
下载安装
- 下载:点击
https://www.elastic.co/cn/downloads/elasticsearch
-->
点击View past releases
-->
找到8.11.1
版本的ES
--->
点击下载---
目前最新版的Spring Data ES
最高支持8.11.1
版本
elasticsearch
与JDK
版本:https://www.elastic.co/cn/support/matrix#matrix_jvm
- 解压:解压下载的压缩包并修改为
elasticsearch8111
普通配置
- 进入:
WIN
键搜索并点击 编辑系统环境变量-->
点击环境变量--->
点击系统变量下新建按钮
参考:
https://blog.csdn.net/lanlinjnc/article/details/135845689
- 输入:变量名输入
ES_HOME
,变量值为ES
的安装目录(bin
目录的上级) - 添加:双击
PATH
变量--->
点击新建—>输入%ES_HOME%\bin
注:这样配置了之后,就不需要先以在终端打开的方式打开
bin
目录,然后才能输入命令了
- 输入:变量名输入
ES_JAVA_HOME
,变量值为JDK
目录的路径(与bin
目录同级) - 乱码:进入
config
目录--->
打开jvm.options
文件—>末尾添加-Dfile.encoding=GBK
注:
-Dfile.encoding=GBK
解决启动日志乱码问题
- 配置:进入
config
目录--->
打开elasticsearch.yml
文件,做如下修改
# 设置集群的名字
cluster.name: es# 设置主节点名字
node.name: esNodeOne#设置索引数据的存储路径
path.data: ./data #换成自己的路径
#设置日志文件的存储路径
path.logs: ./logs #换成自己的路径# 设置ES监听地址,默认为192.168.0.1; 0.0.0.0: 任意机器都可访问
network.host: 0.0.0.0#设置对外服务的http端口,默认为9200
http.port: 9200
添加分词
ik
分词器:中文分词器,可根据定义的字典对域进行分词,并支持用户配置自己的字典,是一个插件包,可以用插件的方式将它接入到ES
ElasticSearch
内置了很多分词器,但这些分词器对中文并不友好
- 下载
ik
:https://github.com/infinilabs/analysis-ik/releases?page=1
选择与下载的
es
版本一致的下载
-
解压改名:解压下载的安装包,然后将解压所得的安装包改成
ik
-
添加目录:将
ik
目录移入plugin
s目录 -
安装验证: 终端输入命令
elasticsearch-plugin list
-
es
中分词器主要有两种情况会被使用:
○ 插入文档时:将text
类型的字段做分词然后插入倒排索引
○ 查询时:先对要查询的text
类型的输入做分词,再去倒排索引搜索 -
es
中分词器的选择策略:
○ 插入文档/索引时:会检查字段是否定义analyzer
属性,优先使用定义的,否则使用es
预设的
○ 查询时:会检查被搜索的字段是否定义了search_analyzer
,优先使用定义的,否则使用es
预设的
○analyzer
和search_analyzer
是作用到字段上面的,每个字段可以设置不同的索引分词器和查询分词器 -
设置
ES
使用:ik
分词器包括ik_smart
最少切分和ik_max_word
最细切分这两种模式,用于analyzer
属性和search_analyzer
属性
## 创建一个 text_index 索引
PUT /test_index## 设置test_index索引的mapping
## 将 索引中的content字段设置为
## 插入数据建立索引时使用 ik_max_word 模式进行分词
## 对该字段进行搜索时,使用 ik_smart模式进行搜索词的分词## 两种分词器使用的最佳实践是:索引时用ik_max_word,在搜索时用ik_smart。
## 即:索引时最大化的将文章内容分词,搜索时更精确的搜索到想要的结果。POST /test_index/_mapping
{"properties":{"content":{"type":"text","analyzer":"ik_max_word","search_analyzer":"ik_smart"}}
}
Java
:https://blog.csdn.net/weixin_44107140/article/details/131750412
- 资源:
https://www.bilibili.com/video/BV1b8411Z7w5/?p=8
服务配置
-
安装:终端输入命令
elasticsearch-service.bat install``---
安装Elasticsearch
服务
但先运行服务,安装命令执行完成后,到服务中就可以看到安装好的Elasticsearch
服务 -
卸载:
elasticsearch-service.bat remove``---
删除安装的Elasticsearch
服务,若启动则停止服务 -
启动:
elasticsearch-service.bat start``---
启动Elasticsearch
服务,如果已安装 -
停止:
elasticsearch-service.bat stop``---
停止Elasticsearch
服务,如果启动 -
管理:
elasticsearch-service.bat manager``---
启动GUI
来管理已安装的服务
运行服务
- 验证:终端输入命令
elasticsearch.bat
,如下图(记录了密码等信息)则成功
默认账号:用户名
elastic
,密码自行修改
CA
证书密钥信息:d022bf6a91be10e6215eb0540491b5be6d899919a65091b69c9d3f40a130822e
- 随机生成密码:终端输入命令
elasticsearch-reset-password -u elastic``---
一定要先运行ES
注:
New value
字段的值就是新的密码,用于忘记密码的情况
- 指定账号密码:终端输入命令
elasticsearch-reset-password --username elastic -i``---
一定要先运行ES
注:密码至少要六个字符,新密码liuxiansheng
- 访问:浏览器输入
https://localhost:9200/
,账号就是之前提到的,如下则启动成功
安全配置
- 配置:进入
config
目录--->
打开elasticsearch.yml
文件---
运行服务自动生成下列配置 xpack.security.enabled:
● 默认true
:必须使用账号连接ES
● 若为false
:必须使用http://localhost:9200/
访问ES
服务+
启动Kibana
服务会失败+
使用Spring Data ES
和elasticsearch-java
依赖,不需要使用账号连接,但必须使用HTTP
连接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
连接
# 设置是否开启xpack的安全功能,默认true/开启---以xpack开头的配置项都会开启
xpack.security.enabled: false
# 设置是否开启节点的安全注册功能---ChatGPT询问xpack.security.enrollment
xpack.security.enrollment.enabled: true# 配置X-Pack安全功能中 与 HTTP 通信相关的 SSL 设置
xpack.security.http.ssl:# 设置是否开启 HTTP API 客户端连接加密功能---如 Kibana enabled: truekeystore.path: certs/http.p12# Enable encryption and mutual authentication between cluster nodes
xpack.security.transport.ssl:# 设置是否启用集群节点之间的加密和相互身份验证功能enabled: trueverification_mode: certificatekeystore.path: certs/transport.p12truststore.path: certs/transport.p12`
添加用户
- 添加:终端输入
elasticsearch-users useradd liu
,设置密码为liuxiansheng``---
必须先运行ES
elasticsearch
不能使用root
用户启动,所以我们创建一个新的用户
- 权限:终端输入
elasticsearch-users roles -a superuser liu
,设置为超级管理员 - 权限:终端输入
elasticsearch-users roles -a kibana_system liu
,设置为kibana
用户
界面可视
- 下载:点击
https://github.com/1340691923/ElasticView/releases/tag/v1.8.7``-->
选择win