一、环境及版本介绍
操作系统: Windows 10
软件版本: elasticsearch-7.17.22、kibana-7.17.22、IK-7.17.22
开发环境选择软件版本应提前考虑正式系统环境,否则会产生软件与服务器环境不兼容的问题出现,ElasticSearch与环境支持一览表,自行查阅一下:
支持一览表 [ https://www.elastic.co/cn/support/matrix#matrix_jvm ]
安装软件下载地址:
- Elasticsearch全文检索引擎:https://www.elastic.co/cn/downloads/past-releases#elasticsearch
- ik分词器的下载地址:https://github.com/medcl/elasticsearch-analysis-ik/releases
- kibana可视化工具下载地址:https://www.elastic.co/cn/downloads/past-releases#kibana
注意:版本必须一样,否则运行不起来!!
二、Elasticsearch安装、配置
2.1 Elasticsearch下载安装包
2.2 安装
创建目录 ’ D:\tools\ElasticSerach ',解压 ‘ elasticsearch-7.17.22.zip ’ 至此目录;再创建backup
、datas
、logs
目录。
注意:目录不能带空格
2.3 配置环境变量
因为新版的ElasicSearch已经弃用了JAVA_HOME环境变量,转而使用了ES_JAVA_HOME环境变量,并且在新版的安装包中已经提供了Java运行环境,因此我们需要增加ES_JAVA_HOME这个环境变量,不然在后续配置中可能会出现“warning: usage of JAVA_HOME is deprecated,useES_JAVA_HOME”的警告信息。
2.4 修改配置文件
2.4.1 jvm.options修改
默认 JVM 4g,根据服务器内存配置,修改参数。注意:-Xms -Xmx 参数值需要一样,尽可能后期不做修改,可能会引起报错!
-Xms512m
-Xmx512m
2.4.2 elasticsearch.yml 修改
#设置快照存储地址
path.repo: ["D:\\tools\\ElasticSerach\\elasticsearch-7.17.22\\backup"]
#数据存放路径(可不设置,默认就是如下地址)
path.data: D:\\tools\\ElasticSerach\\elasticsearch-7.17.22\\datas
#日志存放路径
path.logs: D:\\tools\\ElasticSerach\\elasticsearch-7.17.22\\logs
#节点名称
node.name: node-1
#节点列表
discovery.seed_hosts: ["192.168.1.21"]
#初始化时master节点的选举列表
cluster.initial_master_nodes: ["node-1"]
#集群名称
cluster.name: es-main
#对外提供服务的端口
http.port: 9200
#节点间通信使用的 TCP 端口号(默认为 9300),集群环境需要开放端口
transport.port: 9300
#启动地址,如果不配置,只能本地访问
network.host: 0.0.0.0
#跨域支持
http.cors.enabled: true
#跨域访问允许的域名地址
http.cors.allow-origin: "*"
2.4.3 elasticsearch-env修改
在bin目录,找到elasticsearch-env文件,编辑注释掉JAVA_HOME配置。
2.4.4权限配置
绕过本节,会产生安全问题,访问无密码要求,直接访问。在elasticsearch.yml
下添加下面代码。
#开启密码安全机制
xpack.security.enabled: true
xpack.security.transport.ssl.enabled: true
启动Elasticsearch
,进入bin目录执行elasticsearch-setup-passwords interactive
,会要求输入多个账号的密码,记录清楚。
bin> elasticsearch-setup-passwords interactive
2.5 配置后台服务
在bin目录,打开cmd,执行:elasticsearch-service.bat install
,打开服务可以看到添加成功,右键属性设置开机自启。
2.6 启动
bin目录双击elasticsearch.bat
或者服务启动
,访问地址:http://127.0.0.1:9200,输入elastic/123456
注意:如果启动失败,可以进入logs目录查找报错日志。
三、IK分词器插件安装
进入安装plugins
文件夹,创建ik
文件夹,解压elasticsearch-analysis-ik-7.17.22.zip
,重启可用。(找不到elasticsearch匹配版本,需要拉代码自己打包)
四、Kibana安装、配置
4.1 Kibana安装
解压kibana-7.17.22-windows-x86_64.zip
到D:\tools\ElasticSerach
目录完成安装。
4.2 kibana.yml配置修改
#设置中文显示
i18n.locale: "zh-CN"
#设置访问用户
elasticsearch.username: "elastic"
#设置访问密码
elasticsearch.password: "123456"
#ElasticSearch连接地址
elasticsearch.hosts: [ "http://192.168.1.21:9200"]
Kibana server is not ready yet
hosts与elasticsearch没有对应上,或者版本不匹配。
4.3 启动
进入bin
目录,双击kibana.bat
启动,访问地址:http://127.0.0.1:5601
五、DSL语法
# 查询
GET /索引库名/_search
{
"query": {
"match_all": {}
},
"sort": [
{
"字段名": "desc" // 排序 keyword 类型、数值类型、地理坐标类型、日期类型.
}
],
"from": 1, // 第几条数据开始
"size":2, // 展示多数跳数据
"_source": ["字段名", "字段名", "字段名","字段名"] // 展示字段
}
# 单字段模糊收索
GET /索引库名/_search
{
"query": {
"match": {
"字段名":"2023"
}
}
}
# 多字段模糊收索
GET /索引库名/_search
{
"query": {
"multi_match": {
"query":"歌",
"fields": ["字段名", "字段名"]
}
}
}
# term精确查询,一般是查找 keyword、数值、日期、boolean 等类型字段。
GET /索引库名/_search
{
"query": {
"term": {
"字段名": {
"value": "202106012110"
}
}
}
}
# 或者无效查询
GET /索引库名/_search
{
"query": {
"term": {
"字段名": "大"
}
}
}
# range查询区间,根据数值的范围查询,可以是数值、日期的范围。
GET /索引库名/_search
{
"query": {
"range": {
"字段名": {
"gte": 1,
"lte": 3
}
}
}
}
# 排序. 可以排序的字段类型有(不分词):keyword 类型、数值类型、地理坐标类型、日期类型.
GET /索引库名/_search
{
"query": {
"match_all": {} //搜索内容
},
"sort": [
{
"字段名": "desc" // 排序字段和排序方式ASC、DESC
}
]
}
# DELETE /songs