提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
目录
前言
一、Elasticsearch是什么?
二、使用步骤
1.Docker安装Elasticsearch、Kibana
2.访问Elasticsearch
3.访问Kibana
4.通过Kibana操作es
总结
一、Elasticsearch是什么?
全文搜索属于最常见的需求,开源的 Elasticsearch (以下简称 Elastic)是目前全文搜索引擎的首选。它可以快速地储存、搜索和分析海量数据。
二、使用步骤
1.Docker安装Elasticsearch、Kibana
代码如下(示例):
1. 下载镜像文件
# 存储和检索数据
docker pull elasticsearch:7.4.2
# 可视化检索数据
docker pull kibana:7.4.2
2. 配置挂载数据文件夹
# 创建配置文件目录
mkdir -p /mydata/elasticsearch/config
# 创建数据目录
mkdir -p /mydata/elasticsearch/data
# 将/mydata/elasticsearch/文件夹中文件都可读可写
chmod -R 777 /mydata/elasticsearch/
# 配置任意机器可以访问 elasticsearch
echo "http.host: 0.0.0.0" >/mydata/elasticsearch/config/elasticsearch.yml
3. 启动Elasticsearch
命令后面的 \是换行符,注意前面有空格
docker run --name elasticsearch -p 9200:9200 -p 9300:9300 \
-e "discovery.type=single-node" \
-e ES_JAVA_OPTS="-Xms64m -Xmx512m" \
-v /mydata/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \
-v /mydata/elasticsearch/data:/usr/share/elasticsearch/data \
-v /mydata/elasticsearch/plugins:/usr/share/elasticsearch/plugins \
-d elasticsearch:7.4.2
● -p 9200:9200 -p 9300:9300:向外暴露两个端口,9200用于HTTP REST API请求,9300 ES 在分布式集群状态下 ES 之间的通信端口;
● -e "discovery.type=single-node":es 以单节点运行
● -e ES_JAVA_OPTS="-Xms64m -Xmx512m":设置启动占用内存,不设置可能会占用当前系统所有内存
● -v:挂载容器中的配置文件、数据文件、插件数据到本机的文件夹;
● -d elasticsearch:7.6.2:指定要启动的镜像
访问 IP:9200 看到返回的 json 数据说明启动成功。
4. 设置 Elasticsearch 随Docker启动
# 当前 Docker 开机自启,所以 ES 现在也是开机自启
docker update elasticsearch --restart=always
5. 启动可视化Kibana
docker run --name kibana \
-e ELASTICSEARCH_HOSTS=http://你的ip:9200 \
-p 5601:5601 \
-d kibana:7.4.2
浏览器输入 你的ip:5601 测试:
6. 设置 Kibana 随Docker启动
# 当前 Docker 开机自启,所以 kibana 现在也是开机自启
docker update kibana --restart=always
2.访问Elasticsearch
浏览器输入ip:9200 如下(Elasticsearch启动成功):
如果访问失败输入以下命令查看启动日志,通过原因自行百度。
docker logs es容器名称
3.访问Kibana
浏览器输入ip:5601 如下(Kibana启动成功):
4.通过Kibana操作es
右侧工具栏选择开发工具,可通过控制台操控es
增删查改操作:
# 创建hello索引 type1类型 id为1的文档 内容为 name,age,birthday 系统会默认给字段映射(类型)
PUT /hello/type1/1
{
"name":"大雄",
"age":22,
"birthday":"1999-01-02"
}
#查询
GET /hello/type1/1
#修改索引信息put方式
PUT /hello/type1/1
{
"name":"大雄",
"age":23,
"birthday":"1998-01-02"
}
#删除文档
DELETE /hello/type1/1
创建索引模式
使用kibana完成搜索