ES是一个高度可扩展的全文搜索和分析引擎,它通常在项目中被用来记录日志,数据查询等等!在我们项目中ES就被用来记录了一些日志,一些数据。这些数据并不是只存在ES的,一般除了日志其它的存储数据还会被存在数据库中有一份,为什么存了ES还要存数据库呢,因为ES对数据的一致性没那么强,所以我们一般会在数据库中存在一份,但是在一些查询的地方会查询ES,或者搜索数据要求比较高的场景下会采用查ES的方式,这样做可以减少数据库的压力,而且搜索效率也很高。
elasticsearch官网:https://www.elastic.co/cn/elasticsearch/
基本概念
集群:集群的概念或许你已经很清楚,ES的集群就是一个或多个节点的集合,它们一起保存您的全部数据并提供跨所有节点的联合索引和搜索功能。
节点:节点就是集群中的一个服务,它才是真正存储数据,并提供搜索功能!多个节点就可以组成一个多节点的集群。
索引:索引类似于Mysql数据库中的库概念,在ES之前的版本是有type这个概念的,后来的版本去掉了type,所以索引又有表的概念。简单的说,索引就是文档的容器,是一类文档的集合,逻辑空间上的分类,物理空间上的分片
文档:ES在数据处理上,并不会把数据处理成为像是MySQL数据库的表格形式,而是将数据序列化成为JSON文档,这样能够存储更加复杂的数据结构。而这样一个JSON对象,es称之为文档Document。同时,JSON对象是有一个或者多个字段组成,这些字段也有着不同的类型,例如字符串、数值、日期、地理信息等。
ES安装
安装之前提前说明,ES不可以用root用户启动,不可以安装在/root下安装,所以我在/opt下安装的;还需有有java8的环境。
//下载安装包
wget http://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.4.0.tar.gz
//解压
tar -zxvf elasticsearch-7.4.0.tar.gz
//新增一个es用户
useradd es
//密码
passwd es
//修改权限
chmod -R es:es /opt
//用es用户,在bin目录下启动
./elasticsearch
测试启动是否成功
在浏览器输入:http://localhost:9200/
看到如下界面表示成功: