Elasticsearch基础介绍
1. Elasticsearch的概述
-
Elasticsearch是一个高可扩展的开源全文搜索和分析引擎,它允许存储、搜索和分析大量的数据,并且这个过程是近实时的。它通常被用作底层引擎和技术,为复杂的搜索功能和要求提供动力。Elasticsearch还是一个分布式文档数据库,其中每个字段均可被索引,而且每个字段的数据均可被搜索,ES能够横向扩展至数以百计的服务器存储以及处理PB级的数据。可以在极短的时间内存储、搜索和分析大量的数据。通常作为具有复杂搜索场景情况下的核心发动机。
-
ElasticSearch就是为高可用和可扩展而生的。可以通过购置性能更强的服务器或者升级硬件来完成系统扩展,称为垂直或向上扩展(Vertical Scale/Scaling Up)。另一方面,增加更多的服务器来完成系统扩展,称为水平扩展或者向外扩展(Horizontal Scale/Scaling Out)。
2. Elasticsearch可以做什么
- 一个线上商城系统,用户需要搜索商城上的商品。
在这里你可以用es存储所有的商品信息和库存信息,用户只需要输入”空调”就可以搜索到他需要搜索到的商品。 - 一个运行的系统需要收集日志,用这些日志来分析、挖掘从而获取系统业务未来的趋势。
你可以用logstash(elk中的一个产品,elasticsearch/logstash/kibana)收集、转换你的日志,并将他们存储到es中。一旦数据到达es中,就你可以在里面搜索、运行聚合函数等操作来挖掘任何你感兴趣的信息。 - 如果你有想基于大量数据(数百万甚至数十亿的数据)快速调查、分析并且要将分析结果可视化的需求。可以用es来存储你的数据,用kibana构建自定义的可视化图形、报表,为业务决策提供科学的数据依据。
开始安装
1.这里我们安装最新版elasticsearch
拉取elasticsearch最新镜像
docker pull docker.elastic.co/elasticsearch/elasticsearch:7.5.1
2.查看是否安装成功
docker images 查看docker内部镜像
如图安装成功
3.启动elasticsearch,并且查看是否启动成功
//启动elasticsearch
docker run -d --name es -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" docker.elastic.co/elasticsearch/elasticsearch:7.5.1
//查看docker内部启动的容器
docker ps
启动参数说明
-d 后台启动
--name 指定启动容器的名称
-p 9200 是ES节点与外部通讯使用的端口。它是http协议的RESTful接口(各种CRUD操作都是走的该端口,如查询:http://localhost:9200/user/_search)。
-p 9300是ES节点之间通讯使用的端口。它是tcp通讯端口,集群间和TCPclient都走的它。(java程序中使用ES时,在配置文件中要配置该端口)
-e 设置环境变量
效果如下图 elasticsearch 启动成功
4.本机访问测试
// 使用curl命令
curl 127.0.0.1:9200
如图测试启动成功
5.外部主机访问测试
打开浏览器,输入服务器的id:9200,如下图即为成功
谢谢您的阅读!如果本文对您有帮助,您可以给我点个赞哦!