什么是ElasticSearch
ES是一个开源的分布式搜索引擎,可以用来实现搜索、日志统计、分析、系统监控,ES易于扩展可以扩展到上百台服务器PB(1PB=1024TB 1TB=1024GB)级别的数据,ES自身携带分布式协调管理功能,但仅支持json文件格式
ES理论
1、索引
在ES中一个索引对应一组相关的存储单元,可以被看作是一种类似于数据库中的表结构,用于存储相类似的文档,每个文档都属于一个索引,索引中的文档用来被搜索和分析。
2、索引分片
索引分片是将一个完整的索引分成多个的过程,每个分片本身就是一个独立的索引,拥有自己的设置、映射、文档。ES通过将索引划分为多个分片来允许大规模数据存储,并且能够水平扩展,每个分片可以分布在集群的不同节点上,默认情况下每个索引包含五个主分片。
3、索引副本
是每个分片的一个复制品,拥有提供冗余和故障的恢复。副本分布在不同的节点上,从而增加的系统的可靠性和容错能力。
ElasticSearch核心概念
1、节点
节点是集群中的单个服务器,用于存储数据并参与集群的索引和搜索功能,每个节点都有自己的名字和唯一标识符。
2、集群
集群是由一个或多个节点组成的一组服务器,它们共同存储项目的整个数据,集群提供了高可用性和横向扩展性。
3、分片和复制
分片是将索引中的数据分割成多个部分,用于提高性能和扩展性,每个分片可以被存储在集群中的一个或多个节点上。
复制是为了数据的高可用性和容错性,每个分片都会有一个或多个副本分片,这些分片会被存储在不同的节点上。
4、索引
索引是用于存储数据的地方,类似于关系型数据库中的数据库,它是一种用于存储类似性质的文档和数据结构。
5、类型
类型在ES6.0之前用于组织索引内部文档的一种方式,在ES7.0版本之后已经被废弃,推荐使用单一索引多字段代替。
6、文档
文档是ES中的基本数据单元,类似于关系型数据库中的行,每个文档都是一个JSON对象,它们被存储在索引中并可以被搜索。
7、字段
字段是ES中 文档的组成部分,类似于关系型数据库中的列,每个字段都有自己的数据类型(比如文本类型,数值型等),并且包含特定的数据。
8、映射
映射定义了索引中的每个字段的数据类型和属性,它相当于关系型数据库中的模式,告诉ES如何处理索引的每一个字段。
安装ElasticSearch
1、拉镜像docker pull 镜像尽量大于7.12.1
docker pull elasticsearch:7.12.1 //下载elasticsearch
2、创建elasticsearch网络
docker network create es-network