ElasticSearch基本概念

curl 域名:9200/omg_topic/_search?q=123456 --user elastic:pwd

elasticsearch

​elasticsearch是一个近实时分布式搜索和分析引擎,它用于全文搜索、结构化搜索、分析以及将这三者混合使用,使用java编写,基于Lucene 实现

优势

  1. 分布式的实时文件存储,每个字段都被索引并可被搜索

  2. 实时分析的分布式搜索引擎

  3. 横向可扩展:支持上百台服务节点的扩展,集群增加机器简单,支持处理PB级数据

  4. 分片机制:

    允许水平分割扩展数据,允许分片和并行操作从而提高性能和吞吐量

    提供高性能:同一个索引可以分多个主分片(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

posted @ 2020-10-22 01:12  LeeJuly  阅读(158)  评论(0编辑  收藏  举报