ElasticSearch基本概念
curl 域名:9200/omg_topic/_search?q=123456 --user elastic:pwd
elasticsearch
elasticsearch是一个近实时分布式搜索和分析引擎,它用于全文搜索、结构化搜索、分析以及将这三者混合使用,使用java编写,基于Lucene 实现
优势:
-
分布式的实时文件存储,每个字段都被索引并可被搜索
-
实时分析的分布式搜索引擎
-
横向可扩展:支持上百台服务节点的扩展,集群增加机器简单,支持处理PB级数据
-
分片机制:
允许水平分割扩展数据,允许分片和并行操作从而提高性能和吞吐量
提供高性能:同一个索引可以分多个主分片(
primary shard
),每个主分片拥有自己的副本分片(replica shard
),每个副本分片都可以提供服务,提升系统搜索请求的吞吐量和性能提供高可用性:同一个索引可以分多个主分片,每个主分片拥有零个或者多个副本,如果主分片挂了,可以从副本分片中选择一个作为主分片继续提供服务
基本概念:
-
Cluster
:集群一个集群包含多个节点,对外提供服务,每个节点属于哪个集群通过配置文件中的集群名称决定
-
Node
:节点集群中的一个节点,每个节点也有一个名称,默认是随机分配,也可以自己指定,在es集群中通过节点名称进行管理和通信
-
Index
:索引索引是具有相同结构的文档集合,作用相当于mysql中的库
-
Type
:类型一个索引可以对应一个或者多个类型,类型可以当做是索引的逻辑分区,作用相当于mysql中的表
-
Document
:文档存储在es中的一个
JSON
格式的字符串,每一个文档有一个文档ID,如果没有自己指定ID,系统会自动生成一个ID,文档的index/type/id必须是唯一的,作用相当于mysql中的行 -
field
:字段一个文档会包含多个字段,每个字段都对应一个字段类型,类似于mysql中的列
-
shard
:分片es中分为
primary shard
主分片和replica shard
副本分片主分片:当存一个文档的时候会先存储在主分片中,然后复制到不同的副本分片中,默认一个索引会有5个主分片,当然可以自己指定分片数量,当分片一旦建立,分片数量不能改变
副本分片:每一个主分片会有零个或者多个副本,副本主要是主分片的复制,通过副本分片可以提供高可用性,当一个主分片挂了,可以从副本分片中选择一个作为主分片,还可以提高性能,所以主分片不能和副本分片部署在相同的节点上
-
replica
:复制复制是为了防止单点问题,可以做到对故障进行转移,保证系统的高可用
-
映射
描述数据在每个字段内如何存储,是定义存储和索引的文档类型及字段的过程,索引中的每一个文档都有一个类型,每种类型都有它自己的映射,一个映射定义了文档结构内每个字段的数据类型
使用
GET /index/_mapping/type
获取对应的/index/type
的映射信息
具体用法参考:
https://juejin.cn/post/6844903844615290888
https://juejin.im/post/6844903890396135438
本文来自博客园,作者:LeeJuly,转载请注明原文链接:https://www.cnblogs.com/peterleee/p/13855759.html